VBA初心者です。
エクセルのマクロを組んでいるですが、サブルーチンの引数を配列にしたいのですが、どうすればよろしいでしょうか?
下記に例を示します。
呼び出し(Call)とサブルーチンの配列変数の記載方法がわかりません。
特に気になるのは、サブルーチンの配列に配列数(下記であれば10)を記入する必要があるのか?
必要な場合、元の配列数を変更した場合、どうすればミスなく、漏れなく修正できるか、良い方法はありまんせんか?
(例)
(呼び出し側)
Dim AA(10) As Integer
Call Test(AA) ← 引数はAAでよい?それともAA()
Sub Test(ByRef AA As Integer) ← AA or AA() or AA(10) ?
AA(3) = AA(2) + AA(1)
以上、お手数をおかけしますが、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんなのGoogleで「vba 配列 引数」で照会すれば、実例つき解説が沢山在る。
最初のものを少し修正して
Sub PassArg()
Dim i As Integer
Dim MyArray(3) As String
MyArray(0) = "東京"
MyArray(1) = "大阪"
MyArray(2) = "福岡"
Call RecArg(MyArray)
End Sub
Sub RecArg(MyArg() As String)
Dim j As Integer
For j = 0 To UBound(MyArg) - 1
MsgBox MyArg(j)
Next j
End Sub
で判りますか。
これなどでわからない場合、ピントハズレの場合は、ここに質問すると良い。
No.1
- 回答日時:
そこまで書いて、なぜ試してみないのでしょうか?
受け取り側を修正するだけでエラーになりませんよ。
Sub Test(ByRef AA() As Integer)
-------------------------------------------
Sub main()
Dim AA(10) As Integer
AA(2) = 10
AA(1) = 5
Call Test(AA)
MsgBox AA(3)
End Sub
Sub Test(ByRef AA() As Integer) ' ← AA()
AA(3) = AA(2) + AA(1)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Visual Basic(VBA) ワークシートごとに計算結果 2 2022/04/30 22:00
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Excel(エクセル) Formulaプロパティーを使ってセルに数式を組んだのですが簡潔にしたい。 3 2022/08/21 20:51
- Excel(エクセル) 上から順にすべてのデータを抽出したい 3 2023/08/25 15:29
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- バッテリー・充電器・電池 AA乾電池について教えてください 5 2022/11/07 22:50
- Visual Basic(VBA) セルが空白だった時の処理 5 2022/09/01 07:07
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net 引数で配列変数を渡す際...
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
配列の要素数を超えた参照のコ...
-
IF関数でEmpty値を設定する方法。
-
動的配列が存在(要素が有る)か...
-
javaプログラムについて
-
Visual C++ でコントロールを...
-
重複なしでランダムに画像を表...
-
VBでbyte配列型のインスタンス...
-
C言語 重複しない4ケタの乱数...
-
C#の質問
-
ボールの衝突 (VB.net)
-
c++ 配列で最大要素数を10...
-
C言語で3次元配列の課題をして...
-
体質と薬の副作用について
-
配列にある重複要素を削除した...
-
バイト配列の編集
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
動的配列が存在(要素が有る)か...
-
変数を動的に作るには?
-
C言語 重複しない4ケタの乱数...
-
VBで作った乱数を一度も重複さ...
-
VB.net 引数で配列変数を渡す際...
-
配列の要素数を超えた参照のコ...
-
C#の質問
-
複数のテキストボックスに同じ...
-
VBでbyte配列型のインスタンス...
-
For文と配列
-
遅延バインディングを使用でき...
-
【MFC】GetCount()とGetSize()...
-
配列プロパティをREDIMする方法...
-
Excel VBAで配列の途中から(X)M...
-
五目並べのプログラムを配列と...
おすすめ情報