0
問題は次のとおりです。 - あるマクロで定義されたベクトルがあり、別のマクロでベクトルから値を呼び出そうとします。すべてのオブジェクトが公開されているにもかかわらず、2番目のマクロはベクトルと協調しません。どんな方法をとってもいただきありがとうございます。VBA - 別のマクロで定義されたベクトルから値を呼び出す
私のコードは以下の通りです:
Public qj As Integer
Public pp_ii(5) As Variant
Public Sub Loop_over_pp()
Dim myarray As Variant
pp_ii = Array(51, 52, 53, 54, 55)
For qj = 0 To UBound(pp_ii)
Call Macro1
Next qj
End Sub
Public Sub Macro1()
Worksheets("List1").Range("A" & qj) = pp_ii(qj)
End Sub
それは依存だ場合、それはパラメータでなければなりません。グローバルを使うのではなく、2番目の 'Sub'に配列を渡すだけです。 – Comintern
'Public PP_ii(5)As Variant'を' Public PP_ii()As Variant'に変更してください。 –
@ ScottCranerのアイデアを使って、あなたの公開宣言で '(5)'を取り出し、 'For qj = 0'を' For qj = 1'に変更することができます。これを補正するには、 'Array(0、51、52、53、54、55)'を追加します。これは 'Array'の最初のオブジェクトをスキップしますが、目的の出力が得られます。 – SalvadorVayshun