vbaで他のブックに転記したい。
vba初心者です。
コマンドボタンを押すと、別ブックにA2からD2を転記するようにしたいです。
転記先は「帳簿」としています。
現状下記のプログラムでは「帳簿」の 5行目にのみ転記されてしまいます。
そこで下記質問です。
①帳簿ファイルの一番下の行からひとつ下に転記させるにはどこをどう直したら良いでしょうか。
②値だけの転記にする場合、どうしたらいいでしょうか。
よろしくお願いします。
Private Sub CommandButton1_Click()
'別ブックを開く
Workbooks.Open Filename:=ThisWorkbook.Path & "\帳簿.xlsx"
Dim A, B
'別ブックに転記
Set A = ThisWorkbook.Worksheets("Sheet1").Range("A2:D2")
Set B = Workbooks("帳簿.xlsx").Worksheets("Sheet1").Range("A" & Cells(Rows.Count, "A").End(xlUp).Row + 1)
A.Copy B
'別ブックを保存して、閉じる
Workbooks("帳簿.xlsx").Save
End Sub
No.1ベストアンサー
- 回答日時:
おはようございます。
マクロブックのセルA2:D2のデータを、帳簿へ記載するで良いでしょうか?
下記で、どうでしょうか?
①帳簿ファイルの一番下の行からひとつ下に転記させるにはどこをどう直したら良いでしょうか。
→Offset(行,列)が良いかと思います。 Offset(1)で1行下を指します。
②値だけの転記にする場合、どうしたらいいでしょうか。
よろしくお願いします。
→.Valueで、値の取得や設定ができます。
Private Sub CommandButton1_Click()
Workbooks("帳簿.xlsx").Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Offset(1).Resize(, 4).Value = _
ThisWorkbook.Worksheets("Sheet1").Range("A2:D2").Value
End Sub
No.3
- 回答日時:
#2です
ちょっと省略してしまいました。
学習の為に右辺が変化した時の場合に対応する形を示しておきます
B.Resize(, A.Count).Value = A.Value は
B.Resize(A.Rows.Count, A.Columns.Count).Value = A.Value
の省略です
No.2
- 回答日時:
こんにちは
すでに回答は出ていますが A.Copy B だけを書き変えるのであれば
B.Resize(, A.Count).Value = A.Value
.Value = .Valueで値の代入が出来ます。
ただし、左辺と右辺は同じサイズ(セル範囲の数)にする必要があります
なので、Resizeで 左辺を右辺のサイズで大きさを変えます。
(大きさが同じなら変えなくて良い)
Offset と Resize はとても便利なので、調べて覚えると良いと思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】セルの塗りつぶし色をbook1からbook2へ転記したい 4 2023/09/27 10:50
- Excel(エクセル) 3つのマクロを連続実行の中で、1つ目のマクロ要件を満たさなかったら、マクロ2・3を実行しない為には 1 2023/10/15 13:42
- Visual Basic(VBA) クリップボードに貼付している文字列が、マクロで別ブックへ転記すると、消えてしまう 1 2023/10/15 13:36
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 転記先VBA 一致しているセルがコピーされない 5 2021/11/15 17:23
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) 【マクロ】違うフォルダにあるファイルから、転記するには? 4 2023/09/26 19:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
【マクロ】【VBA】別ブックへのデータ転記について
Excel(エクセル)
-
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
-
VBA 別シートの同じ日付の欄に値を貼付け
Excel(エクセル)
-
-
4
excel vbaで日付一致の行にデータ転記
Excel(エクセル)
-
5
参照先のブックを開かずに内容をコピーしたい
Excel(エクセル)
-
6
VBA 既に開いているBookに継続作業(転記)する追加コード
Visual Basic(VBA)
-
7
マクロの転記について教えてください
Excel(エクセル)
-
8
日付を入力したセルをファイル名にして保存するには
Excel(エクセル)
-
9
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
10
ExcelのVBAのマクロで他のシートの複数項目をクリアする方法
Visual Basic(VBA)
-
11
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
12
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
13
ブックを開かずに、フォルダ内にある複数ブックの、特定セルの値を抽出した
Excel(エクセル)
-
14
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
15
VBA 日付一致で転記
Visual Basic(VBA)
-
16
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
17
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
18
EXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい
Windows 10
-
19
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
20
(VBAにて)日付でデータを抽出するやり方
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ワイルドカード「*」を使うとう...
-
フォルダ内の全てのファイルに...
-
シートをコピーする下記記述で...
-
VBA シート名が一致した場合の...
-
VBA シートをコピーする際に Co...
-
VBAの参照先のファイル名をセル...
-
Excelのマクロについて教えてく...
-
リソース不足を解消したい
-
複数のエクセルブックをひとつ...
-
Excel にて、 リストボックスの...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
vba勉強中
-
複数ブックから一つのシートに...
-
任意のブックを開き、任意のシ...
-
別ブックの列同士の値が一致し...
-
拡張メタファイルにて貼り付け
-
VBScriptで自動リンクONでExcel...
-
エクセルのマクロを使ってメー...
-
異なるブック間でのセル範囲の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
別ブックをダイアログボックス...
-
(マクロ)データをAブックからB...
-
VBS Bookを閉じるコード
-
VBA 別ブックからコピペしたい...
-
VBA 複数のエクセルから一つの...
-
VBA シート名が一致した場合の...
-
【ExcelVBA】インデックスが有...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
VBA コードを実行すると画面が...
-
【VBA】全シートの計算式を全て...
-
複数のエクセルブックをひとつ...
-
VBA 実行時エラー 2147024893
-
ExcelのVBAです。フォルダ内の...
おすすめ情報