VBA入門者です。宜しくお願いします。
以下の作業を、シート(1)~(3)に繰り返したいのです
◎シート(”レポート”)列A,C,F…40列まで3列置きにコピー
◎シート(1)のA3に貼付
初歩的な構文だとシートごとに設定するのが大変です(汗)
下の構文をコンパクトにまとめ、
できれば・・・
シート(2)には(B4,B23)~、シート(3)には(C4,C23)~同じ流れでコピペする動作も
まとめたいのです。
With Worksheets("レポート")
.Range("A4:A23").Copy
Worksheets("1").Range("A3").PasteSpecial xlPasteValues
.Range("C4:C23").Copy
Worksheets("1").Range("B3").PasteSpecial xlPasteValues
.Range("F4:F23").Copy
Worksheets("1").Range("C3").PasteSpecial xlPasteValues
.Range("I4:I23").Copy
Worksheets("1").Range("D3").PasteSpecial xlPasteValues
'……40列まで続く
End With
No.1ベストアンサー
- 回答日時:
こんにちは!
>'……40列まで続く
とは「レポート」Sheetの40列(AN列)までというコトでしょうか?
それともデータがある限り3列毎に40回同じ操作を繰り返す!というコトなのでしょうか?
質問文では
A・C・F・I・・・
となっていますので、
A列はそのまま値をコピー&ペーストし、C列以降3列毎というコトですよね?
二つやってみました。
「Sample1」がAN列までで、「Sample2」がデータがある限りC列以降3列毎に40回コピー&ペーストしています。
Sub Sample1()
Dim j As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("1")
With Worksheets("レポート")
.Range("A4:A23").Copy
wS.Range("A3").PasteSpecial Paste:=xlPasteValues
cnt = 1
For j = 3 To 40 Step 3 '//C列~AN列まで3列毎
cnt = cnt + 1
Range(.Cells(4, j), .Cells(23, j)).Copy
wS.Cells(3, cnt).PasteSpecial Paste:=xlPasteValues
Next j
End With
End Sub
Sub Sample2()
Dim j As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("1")
With Worksheets("レポート")
.Range("A4:A23").Copy
wS.Range("A3").PasteSpecial Paste:=xlPasteValues
For j = 3 To .UsedRange.Columns.Count Step 3 '//C列~最終列まで3列毎
If cnt = 40 Then Exit For '//40回繰り返したらループから抜ける★
cnt = cnt + 1
Range(.Cells(4, j), .Cells(23, j)).Copy
wS.Cells(3, cnt + 1).PasteSpecial Paste:=xlPasteValues
Next j
End With
End Sub
こんな感じで良いのでしょうか?m(_ _)m
tom04さんへ
ありがとうございます!!
【Sample1】を参考にさせていただきました!
本当に助かりました!
これで、上手く行きそうです!
感謝♡
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) vba 転記するときの最終行について 2 2022/09/03 09:31
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
マクロの「1列おきに貼り付け処理を行う方法」を知りたいです。
Excel(エクセル)
-
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
VBA 連続行データを5行ずつ隣の列に貼り付ける
Excel(エクセル)
-
-
4
Excel VBAでn行毎に行の選択
Excel(エクセル)
-
5
一行おきに貼り付ける 可能でしょうか
Visual Basic(VBA)
-
6
Excel 3列毎のセルを別の表に抽出したい。
Excel(エクセル)
-
7
エクセル VBA 指定の範囲内をコピー 複数行あけて貼り付けを指定範囲内で
Excel(エクセル)
-
8
エクセルで1列おきのデータのみコピペする計算式
Excel(エクセル)
-
9
複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ
Excel(エクセル)
-
10
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
11
一行おきにコピーするマクロが知りたい
Excel(エクセル)
-
12
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
13
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
14
Exel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について
Visual Basic(VBA)
-
15
VBAで、離れた複数の列に対して処理を施すには?
Visual Basic(VBA)
-
16
横にコピーするマクロを教えてください。
Excel(エクセル)
-
17
Excel VBAでオートフィルタで抽出した列データを別シートの最終行にコピーするには
Visual Basic(VBA)
-
18
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
19
【VBA】指定した検索条件に一致したら別シートに転記したい
Visual Basic(VBA)
-
20
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
Excelで、あるセルの値に応じて...
-
マクロ 最終列をコピーして最終...
-
DataGridViewに空白がある場合...
-
VBAで、特定の文字より後を削除...
-
rowsとcolsの意味
-
B列の最終行までA列をオート...
-
VBAを使って検索したセルをコピ...
-
VBAで、離れた複数の列に対して...
-
マクロ 関数を使った抽出でエラ...
-
IIF関数の使い方
-
VBAで重複データを確認したい
-
Changeイベントでの複数セルの...
-
VBAのFind関数で結合セルを検索...
-
エクセル アクティブセルから...
-
文字列の結合を空白行まで実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
VBA 何かしら文字が入っていたら
-
URLのリンク切れをマクロを使っ...
-
エクセルVBAにて =A1=B1とすれ...
-
VBAでのリスト不一致抽出について
-
データグリッドビューの一番最...
-
マクロについて。S列の途中から...
-
VBA UserFormからの転記で
-
targetをA列のセルに限定するに...
おすすめ情報