2次元配列に格納した値を一括で取り出し指定セルに出力させる場合、出力する指定シートをactivateをしないと次のエラーがでてしまいます。
実行時エラー'1004':
'Range'メソッドは失敗しました:'_Worksheet'オブジェクト
というエラーがでます。
記述したコード抜粋です。
質問としては、ネット等で調べてもActivateの記述がなくても動いているのですが、なぜエラーが出るのかがわかりません。
Dim DataSheet As Excel.Worksheet Set DataSheet = ActiveWorkbook.Worksheets.Item("XXXX") C = 0 with datasheet For i = Lc_s To Lc_e Add(C, 0) = Left(.Cells(i, 41).Value, 5) Add(C, 1) = Mid(.Cells(i, 41).Value, 6, 2) Add(C, 2) = .Cells(i, 3).Value & "-" & .Cells(i, 4).Value Add(C, 3) = .Cells(i, 31).Value & "." & .Cells(i, 32).Value Add(C, 4) = .Cells(i, 6).Value & "-" & .Cells(i, 3).Value Add(C, 5) = Dict(Target) Add(C, 6) = .Cells(i, 34).Value C=C+1 next End With DataSheet.Activate DataSheet.Range(Cells(Lc_s, 42), Cells(Lc_e, 48)).Value = Add
回答1件
あなたの回答
tips
プレビュー