|
エラーが出る原因をご教示ください。
(希望する動作)リストボックスに登録された複数フォルダ内のcsvファイルから順次、データをコピーしテーブルの最下行にペーストを行う。
(エラー)targetTable.ListRows.Add.Range(1, 2).PasteSpecial Paste:=xlPasteValues で "実行時エラー1004 Rangeクラスの PaseSpecialメソッドが失敗しました。"
Sub CB登録開始_Click()
Dim folderPath As String
Dim csvWorkbook As Workbook
Dim dbWorkbook As Workbook
Dim targetTable As ListObject
Dim newRow As ListRow
Dim i As Long
' このVBAが記されたファイルを参照
Set dbWorkbook = ThisWorkbook
Set targetTable = dbWorkbook.Sheets("分析db").ListObjects("概要table")
' リストボックスに登録された各フォルダを処理
For i = 0 To UFフォルダ選択.LB.ListCount - 1
folderPath = UFフォルダ選択.LB.List(i)
' フォルダ内の"分析.csv"ファイルを開く
Set csvWorkbook = Workbooks.Open(folderPath & "\分析.csv")
' "A2:KC2"の範囲をコピー
csvWorkbook.Sheets(1).Range("A2:KC2").Copy
' 新しい行を追加し、ペースト
Set newRow = targetTable.ListRows.Add
' B列にペースト
targetTable.ListRows.Add.Range(1, 2).PasteSpecial Paste:=xlPasteValues
' クリップボードをクリア
Application.CutCopyMode = False
' "分析.csv"ファイルを閉じる
csvWorkbook.Close SaveChanges:=False
Next i
MsgBox "処理が完了しました。"
End Sub
|
|