質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

666閲覧

[エクセルVBA]ある範囲の値を取得・格納して一括で別シートに貼り付ける

tanuki_poyo

総合スコア5

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/11/19 02:15

編集2021/11/19 02:36

前提・実現したいこと

図1~3のようなデータベースがあり、それぞれのシートの値を配列に取得・格納した後に
図4のようにシート4へ一括で貼り付けたい
また、A列B列に別の値を貼り付けたい
※都度シート4へ貼り付けではなくFor文から抜け出した後、一括で貼り付けを行いたいです。

イメージ説明
イメージ説明
イメージ説明
イメージ説明

発生している問題・エラーメッセージ

図のようになる
イメージ説明

該当のソースコード

Sub シート一括貼り付け() Dim sh As Worksheet Dim CoppyData(100) As Variant Dim Aline(2) As Variant 'A列 Dim Bline(2) As Variant 'B列 Dim lastRow As Long Dim i As Integer For i = 0 To 2 Set sh = wb.Sheets(i) 'i番目のシート Aline(i) = "その" & i Bline(i) = "その" & i lastRow = Cells(30, "C").End(xlUp).Row 'ラストの行を取得 CoppyData(i) = sh.Range("A1:G" & lastRow).Value 'シートの値を取得 Next i '一回Forから抜け出したい   For i = 0 To 2 lastRow = Cells(Rows.Count, "A").End(xlUp).Row 'ラストの行を取得 Range("A" & lastRow + 1).Resize(UBound(CoppyData, 1)) = Aline(i) 'そのiをA列に貼り付ける Range("B" & lastRow + 1).Resize(UBound(CoppyData, 1)) = Bline(i) 'そのiをB列貼り付ける Range("C" & lastRow + 1).Resize(UBound(CoppyData, 1), UBound(CoppyData, 2)) = CoppyData(i) 'ここでエラーが発生 Next i End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

wb.Sheets(j) CoppyData(j)jが間違い?


とりあえず、

VBA

1 Dim arr As Variant 2 For i = 0 To 2 3 lastRow = Cells(Rows.Count, "A").End(xlUp).Row 'ラストの行を取得 4 arr = CoppyData(i) 5 Range("A" & lastRow + 1).Resize(UBound(arr, 1)) = Aline(i) 'そのiをA列に貼り付ける 6 Range("B" & lastRow + 1).Resize(UBound(arr, 1)) = Bline(i) 'そのiをB列貼り付ける 7 Range("C" & lastRow + 1).Resize(UBound(arr, 1), UBound(arr, 2)) = arr 8 Next i 9

でどうでしょう。

投稿2021/11/19 02:32

編集2021/11/19 02:46
jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanuki_poyo

2021/11/19 02:36

すみません。jは間違いです。iが正です 修正しておきました
tanuki_poyo

2021/11/19 03:43

あなたが神ですか 無事できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問