Excel VBA質問箱 IV

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

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


40 / 76735 ←次へ | 前へ→

【82366】外部データが最終行まで読み込まれない。
質問  GAO E-MAIL  - 24/9/20(金) 9:42 -

引用なし
パスワード
   外部のExcelデータを
コピー先のExcelに全コピーします。

コピー元の3行目から最終行までコピーします
コピー先は、A列からZ列にある文字の最後より下に
コピー元のデータを張りつけています。
コードを書いたのですが、コピー元の6行目までしかコピーされず
原因がわからない状態です。
教えて頂けないでしょうか。


Sub ボタン1_Click()
  Dim wsDest As Worksheet
  Dim lastRow As Long
  Dim nextRow As Long
  Dim i As Long, j As Long
  Dim wbSource As Workbook
  Dim wsSource As Worksheet
  Dim filePath As String
  Dim sourceLastRow As Long
  Dim sourceLastCol As Long

  ' ファイルダイアログを使用してファイルを選択
  With Application.FileDialog(msoFileDialogOpen)
    .Title = "Select the Excel file"
    .Filters.Add "Excel Files", "*.xlsx; *.xlsm; *.xls"
    .AllowMultiSelect = False
    If .Show = -1 Then
      filePath = .SelectedItems(1)
    Else
      MsgBox "ファイルが選択されていません。"
      Exit Sub
    End If
  End With

  ' 外部ファイルを開く
  Set wbSource = Workbooks.Open(filePath)

  ' 1番目のシートを設定
  Set wsSource = wbSource.Sheets(1) ' 1番目のシートを使用

  ' 勘定科目シートの存在を確認
  On Error Resume Next
  Set wsDest = ThisWorkbook.Sheets("勘定科目")
  On Error GoTo 0

  If wsDest Is Nothing Then
    MsgBox "シート '勘定科目' が見つかりません。シート名を確認してください。"
    wbSource.Close False
    Exit Sub
  End If

  ' 勘定科目シートのE列からZ列までの最終行を確認
  lastRow = 0
  For j = 5 To 26 ' E列からZ列まで
    If wsDest.Cells(wsDest.Rows.Count, j).End(xlUp).Row > lastRow Then
      lastRow = wsDest.Cells(wsDest.Rows.Count, j).End(xlUp).Row
    End If
  Next j

  ' 次にデータを入力する行を設定
  If wsDest.Cells(lastRow, 5).Value <> "" Then
    nextRow = lastRow + 1
  Else
    nextRow = lastRow
  End If

  ' 外部ファイルの最終行と最終列を取得
  sourceLastRow = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row
  sourceLastCol = wsSource.Cells(1, wsSource.Columns.Count).End(xlToLeft).Column

  ' データをコピー(3行目から最終行まで、A列からZ列まで)
  For i = 3 To sourceLastRow
    For j = 1 To 26 ' A列からZ列まで
      wsDest.Cells(nextRow, j).Value = wsSource.Cells(i, j).Value
    Next j
    nextRow = nextRow + 1
  Next i

  ' 外部ファイルを閉じる
  wbSource.Close False

  MsgBox "データのコピーが完了しました。"
End Sub
7 hits

【82366】外部データが最終行まで読み込まれない。 GAO 24/9/20(金) 9:42 質問[未読]
【82367】Re:外部データが最終行まで読み込まれない。 マナ 24/9/21(土) 19:20 発言[未読]
【82368】Re:外部データが最終行まで読み込まれない。 jindon 24/9/29(日) 12:52 回答[未読]

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