Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


105 / 76735 ←次へ | 前へ→

【82301】テーブル最終行にデータ貼り付け
質問  なんでやねん  - 24/6/4(火) 14:43 -

引用なし
パスワード
   エラーが出る原因をご教示ください。
(希望する動作)リストボックスに登録された複数フォルダ内の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

3 hits

【82301】テーブル最終行にデータ貼り付け なんでやねん 24/6/4(火) 14:43 質問[未読]
【82302】Re:テーブル最終行にデータ貼り付け マナ 24/6/5(水) 11:17 発言[未読]
【82303】Re:テーブル最終行にデータ貼り付け なんでやねん 24/6/5(水) 11:47 質問[未読]
【82304】Re:テーブル最終行にデータ貼り付け マナ 24/6/5(水) 14:51 発言[未読]
【82305】Re:テーブル最終行にデータ貼り付け なんでやねん 24/6/5(水) 15:09 お礼[未読]

105 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free