VBAの配列について
初めまして、VBAの配列の入力方法について質問させてください。
大量のデータの処理を高速化するため、配列を使用して以下のVBAを入力しました。
インターネットで調べ、見よう見まねで入力してみたものです…(T_T)
内容は、シート「資料」のC列とシート「Sheet1」のG列の文字列が同じ
かつ、シート「資料」のL列から最終列(そのときによって変化します)
とシート「Sheet1」のE列の文字列が同じ場合、
シート「資料」のA列~D列及びL列から最終列で文字列の一致したセルを
着色するというものです。
変数「アイス」と「チョコ」にそれぞれシート「資料」のデータと
シート「Sheet1」のデータを格納したつもりなのですが、
実行したところ「配列がありません。」というエラーメッセージが
表示されました。
どうやらデータを配列として格納できていないときに表示される
エラーメッセージのようなのですが、変数の型を変更してみたり、
配列をアイス(2)にしてみたりと、色々方法を変えて試してみたものの、
処理は成功しませんでした(T_T)
一体何が原因で処理が成功しないのか、どなたかご教授いただけると
とても嬉しいです…!よろしくお願いいたします。
ちなみに、配列を使用しない場合の処理は、時間が15分ほどと
かなりかかりますが、成功しています。
Application.ScreenUpdating = True
Dim アイス, チョコ As Long
Dim i As Integer, j As Integer, k As Integer
アイス = Sheets("資料").Cells(Rows.Count, 1).End(xlUp).Row
チョコ = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 3 To Sheets("資料").Cells(Rows.Count, 1).End(xlUp).Row
For j = 12 To Sheets("資料").Cells(i, 12).End(xlToRight).Column
For k = 2 To Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
If アイス(i, 3).Value = チョコ(k, 7).Value And アイス(i, j).Value = チョコ(k, 5).Value Then
Sheets("資料").Range("A" & i & ":D" & i).Interior.ColorIndex = 22
アイス(i, j).Interior.ColorIndex = 22
End If
Next k
Next j
Next i