- 締切済み
VBA定義について
ExcelでVBAを使用してデータを曜日に寄って抽出する様定義されているのをみました。 ところで下記のDim TBL_E(2, 31) As Integer はどういう意味かまた [XXX = 1: OFF_CELL = 14: CNT1 = 1: CNT2 = 1]ってたとえですか。意味はちょっと分かりません。 初心者の者ですがよろしくお願いします。 Dim TBL_E(2, 31) As Integer YOUBI = Worksheets("AAA").Range("C11") XXX = 1: OFF_CELL = 14: CNT1 = 1: CNT2 = 1 Do Until CNT2 >= 8 If XXX <> Worksheets("AAA").Cells(OFF_CELL, 3) Then Select Case YOUBI Case 1: Worksheets("BBB").Range("E3") = "日" Worksheets("AAA").Range("AE5") = "SUN" Case 7: Worksheets("BBB").Range("E3") = "土" Worksheets("AAA").Range("AE5") = "SAT" If CNT1 <= 8 Then TBL_E(1, CNT1) = XXX If CNT1 = 1 Then Worksheets("AAA").Range("D16") = YOUBI End If
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- n-jun
- ベストアンサー率33% (959/2873)
>[XXX = 1: OFF_CELL = 14: CNT1 = 1: CNT2 = 1]ってたとえですか。 変数の初期の値でしょう。 変数の宣言が見あたりませんが、数値タイプなら宣言した時は0ですが実行するにあたり、 0から始めるとまずい場合などに開始値として1や14などをセットしているのでは? 例) >OFF_CELL = 14 >Worksheets("AAA").Cells(OFF_CELL, 3) 変数OFF_CELLが0から始まると、If文の上記でセル”C0”(0行目の3列目) となってしまい、存在しないセルと比較しようとしてエラーになります。 なので”14行目の3列目”となるようにしているためかと。 コードが何を目的に作られたのかが不明ですので、憶測です。 >Dim TBL_E(2, 31) As Integer 言語は違いますが考え方は同じかと。 9-1.2次元配列 http://www9.plala.or.jp/sgwr-t/c/sec09.html 2次元配列の範囲と型を先に宣言しています。
お礼
回答ありがとうございました。参考になりました。