ユーザー定義型の中に格納した配列の要素数を調べたいです。
開いた別ファイルから取得してきた値をシートに貼り付けるだけの処理なのですが、
TypeC、Dにはそれぞれ下位分類があるため(例:対応状況―<未対応/対応中/済>)、定義型の中で値を配列として格納しています。
それをテーブルに貼り付ける際、For文で横にペーストしたいのですが、UBoundで要素数を取り出すことができません
””エラー9 インデックスが有効範囲にありません""
↓以下コードになります
VBA
1--Class1-- 2Public TypeA As string 3Public TypeB as long 4Public TypeC as variant 5Public TypeD as variant 6'※CとDで配列の要素数が異なる 7 8 9--Module1-- 10※★でエラー 11Dim data as new Class1 12 13'値の取得 14With ActiveWorkbook.sheets(1) 15 data.TypeA = "hoge" 16 data.TypeB = 2 17 data.TypeC = Range("AQ8:BD8") 18 data.TypeD = Range("BE8:BJ8") 19end with 20 21'値の貼り付け 22With ThisWorkbook.sheets(1) 23 .Cells(1,1) = data.TypeA 24 .Cells(1,2) = data.TypeB 25 26 Dim i as long 27 ★for i = 1 to UBound(data.TypeC,1) 28 .Cells(1,3 +i-1) = data.TypeC(1,i) 29 next 30 Dim j as long 31 Dim startColumn as long 32 startColumn = .Cells(1,.Columns.Count).End(xlToLeft).Column +1 33 ★for j = 1 to UBound(data.TypeD,1) 34 .Cells(1,startColumn + j -1) = data.TypeD(1,j) 35 next 36 37※UBound(data.TypeC(1),1)試みたが同じエラー発生 38 39
※ローカルウィンドウ上、data -TypeCで展開すると
TypeC(1)
-TypeC(1,1)
-TypeC(1,2)..etc
と続いています。
基礎的な記法の質問のようにも思えますが、調べても見つけられませんでした。。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/25 07:11 編集