プロが教えるわが家の防犯対策術!

標題の件について、下記画像をご覧ください。

【やりいたい事】
エクセルマクロを使って
ブック1の A2:C2 のセルの値をブック2の A8:C8 へ転記したい

【他情報】

ブック1の場所とファイル名: C:\Users\あ\Documents\テスト\Book1.xlsm
ブック1シート名:Sheet1

ブック2の場所とファイル名: C:\Users\あ\Documents\テスト\Book2.xlsx
ブック2シート名:Sheet1

「【マクロ】【VBA】同じフォルダ内にある」の質問画像

A 回答 (2件)

以下のようにしてください。


Option Explicit
Public Sub 別ブックへ転記2()
Dim ws1 As Worksheet
Dim wb2 As Workbook
Dim ws2 As Worksheet
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Set ws1 = Worksheets("Sheet1")
maxrow1 = ws1.Cells(Rows.Count, "A").End(xlUp).Row
If maxrow1 < 4 Then Exit Sub
Set wb2 = Workbooks.Open(ThisWorkbook.path & "\" & "Book2.xlsx")
Set ws2 = wb2.Worksheets("Sheet1")
maxrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
If maxrow2 < 4 Then maxrow2 = 4
row2 = maxrow2 + 1
For row1 = 4 To maxrow1
ws2.Cells(row2, 1).Resize(1, 3).Value = ws1.Cells(row1, 1).Resize(1, 3).Value
row2 = row2 + 1
Next
wb2.Save
wb2.Close
MsgBox ("完了")
End Sub
    • good
    • 1

こんにちは



固定処理のようですので、「マクロの記録」を取ればそのまま使えるものが得られます。

コツとしては、「無駄な操作は行わない」ことでしょうか。
「マクロの記録」の意味がわからない場合は、ググってみて下さい。
    • good
    • 0
この回答へのお礼

了解です!
記録ですね

試してみます

お礼日時:2023/07/26 17:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!