アプリ版:「スタンプのみでお礼する」機能のリリースについて

変数に文字列を代入してから、その変数を使った処理をするマクロを作りました。
ざっくり書くと以下の様なマクロになります。処理内容は必要ないと思うので割愛します。

Sub 処理()
 hensuu = "AAA"
 '■■■■■■■■■■■■
 '■hensuuを使用した処理■
 '■■■■■■■■■■■■
End Sub

後になってから、hensuuに数パターンある事が分かりました。
hensuu1 = "AAA"
hensuu2 = "BBB"
hensuu3 = "CCC"

予め上記の様に、パターンが決まっているとしたら、
hensuu1~3まで差し替えながら同じ処理を繰り返すにはどうしたら良いでしょう?

A 回答 (2件)

Sub 処理()



Dim hensuu As Variant

For Each hensuu In Array("AAA", "BBB", "CCC")
'■■■■■■■■■■■■
'■hensuuを使用した処理■
'■■■■■■■■■■■■
Debug.Print hensuu '変数の中身を書き出して確認

Next
End Sub

結果確認:
AAA
BBB
CCC

の方が楽に思う。
ただ差し替える回数が10回~とかなら、与えたい値をどこか1列セル1個ずつに打ち込んでおいてそこから取得もありかも。
    • good
    • 0
この回答へのお礼

できました。
確認してからお礼しようと思ったので遅くなりました。

>ただ差し替える回数が10回~とかなら、与えたい値をどこか1列セル1個
>ずつに打ち込んでおいてそこから取得もありかも。

なるほど。追加のアドバイスも参考になりました。
実は、Debug.Print も非常に勉強になりました。
ありがとうございました。

お礼日時:2021/11/15 17:10

おはようございます。



下記が参考になるでしょうか?

【VBA】Functionの使い方【戻り値の取得
https://daitaideit.com/vba-function-usage/

変数が少なければ、下記の様な書き方も可かと思います。
多かったら、セルに書き込んだデータを読み込んだ方が楽かも知れません。

Sub TEST1()
'値を渡して、値を取得
Dim A As String
A = TEST2("AAA")
MsgBox A
A = TEST2("BBB")
MsgBox A
A = TEST2("CCC")
MsgBox A

End Sub

Function TEST2(B As String) As String
'同じ文字を2つ繋げる
TEST2 = B & B
End Function
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強になりました。

お礼日時:2021/11/15 17:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!