2016-10-21 12 views
0

は、私はデータを取得し、配列に保存する機能があります。他の機能では2次元配列の値を読み取るにはどうすればよいですか? VBAで

Function GetAppro(Current_Sheet As String) 

    Dim myArray As Variant 

    myArray = Worksheets(Current_Sheet).Range("A3:C6") 

    GetAppro = myArray 
End Function 

を、私は、配列内の値を読み取るたい:

Sub GenerateDB() 
    Dim Appro() As Variant 

    Appro = GetAppro("Sheet1") 
    MsgBox Appro(0, 0) 'Error come from here 
End Sub 

Excelがエラー9私を言います範囲外です。

+5

そう 'メッセージボックスアプロ(1、1)'左上隅を得るために変更ベース1ないベース0である範囲に範囲を読み込みます。 –

答えて

3

この場合、配列インデックスは1から始まります。使用:

Sub GenerateDB() 
    Dim Appro() As Variant 

    Appro = GetAppro("Sheet1") 
    MsgBox Appro(1, 1) 'Error come from here 
End Sub 
+0

Thxあなた、それは働いています:) – AAzeeze

+0

1分前に同じ回答でScott Cranerに叫んでください。 – nbayly

+0

そうですが、私は怠惰で簡単な方法を取っていました。 –