| 
    
     |  | つい数日前からマクロに挑戦している初心者ですが、是非皆様のご協力をいただきたく投稿いたします。 
 以下のようにマクロを書いて、エクセルのデータベースの情報を配列に格納していきたかったのですが、二点質問させてください。
 
 [QUESTION1]どうやら、どの配列にも何も入っていないようなのです。何故でしょう?
 
 [QUESTION2]配列に次々と格納していくときに、for next構文で上限を変数におき、配列もlist(4,cnt)のように変数をおきたかったのですが、エラーが出てしまいました。何故でしょう?
 
 質問をするにあたって、あますことなく情報を書いてあるかどうかもわからないくらい、初心者ですが、どうかご容赦のほどお願いするとともに、是非アドバイスをください。よろしくお願いします。
 
 
 Sub kensaku()
 
 '[STEP1:データを配列化する]
 Dim ws As Worksheet
 Set ws = Worksheets("MDT")
 Dim cnt As Long
 cnt = ws.Range("A65536").End(xlUp).Row - 7
 
 Dim List(4, 303) As Variant '[QUESTION2]何故303のところにcntが入らないのか?
 Dim m As Long
 
 For m = 0 To cnt
 List(0, cnt) = ws.Range("R7").Offset(cnt).Value '摘要
 List(1, cnt) = ws.Range("A7").Offset(cnt).Value '勘定年月
 List(2, cnt) = ws.Range("C7").Offset(cnt).Value '工事番号
 List(3, cnt) = ws.Range("H7").Offset(cnt).Value '伝票番号
 List(4, cnt) = ws.Range("N7").Offset(cnt).Value '仕訳金額
 Next
 
 Debug.Print List(0, 1) '[QUESTION1] ここで試しにPRINTしてみてもすべて空の模様
 Debug.Print List(1, 1)
 Debug.Print List(2, 1)
 Debug.Print List(3, 1)
 Debug.Print List(4, 1)
 
 
 '[STEP2:キーワードとチェックをする]
 
 '  Dim n As Long
 
 '  Dim Target As String
 '  Target = Worksheets("抽出MASTER").Range("B2").Value
 
 '  For n = LBound(List, 2) To UBound(List, 2)
 '    If InStr(List(0, n), Target) > 0 Then
 '      Debug.Print "勘定年月:" & List(1, n)
 '      Debug.Print "工事番号:" & List(2, n)
 '      Debug.Print "伝票番号:" & List(3, n)
 '      Debug.Print "仕訳金額:" & List(4, n)
 '      Debug.Print "摘要:" & List(0, n)
 '    End If
 
 
 '  Next
 
 
 End Sub
 
 |  |