
1行目に項目がある。
2行目よりデータがある。
データ行は、それぞれのファイルごとに数が違う。
データ1行につき、それぞれ23行ずつ行挿入したい。
その挿入したところに、AからGのデータをコピーしたい。
1行目 項目
2行目 A~AE(このデータが書き込まれている範囲はかわらない)
3行目以降に2行目のA~Gをコピーする(H以降はコピーせず、空白のまま)
次に、挿入後のデータがある26行目も同じように23行行挿入し、26行目のA~Gをコピーしたい。
作業は下記の通りになります。
Sub Macro1()
'
' Macro1 Macro
'
'
Rows("3:25").Select
Range("G3").Activate
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("A2:G2").Select
Selection.AutoFill Destination:=Range("A2:G25"), Type:=xlFillDefault
Range("A2:G25").Select
Rows("27:49").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A26:G26").Select
Selection.AutoFill Destination:=Range("A26:G49"), Type:=xlFillDefault
Range("A26:G49").Select
Rows("51:73").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A50:G50").Select
Selection.AutoFill Destination:=Range("A50:G73"), Type:=xlFillDefault
Range("A50:G73").Select
End Sub
これを最終データがあるところまで繰り返し作業するためのマクロは、どのようにすればよいかご教示願えますでしょうか。
マクロ初心者なので、これをどのようにまとめればよいか悩んでしまいました。お力添えをお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは!
タイトルは「コピー」となっていますが、コードを拝見するとA~G列をオートフィルにしていますね。
オートフィルの操作でやってみました。
一例です。
Sub Sample1()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
Rows(i + 1 & ":" & i + 23).Insert
Range(Cells(i, "A"), Cells(i, "G")).AutoFill _
Destination:=Range(Cells(i, "A"), Cells(i + 23, "G"))
Next i
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?
※ A列で最終行を取得していますので、
A列は最終行まで何らかのデータが入っているという前提です。m(_ _)m
tomo04様
早速ご教示いただき、ありがとうございました。
まさしく、こちらの作業がしたかったのです。
コピーではなく、オートフィルなんですね。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセルのVBAにショートカットキーの割り当て 3 2022/07/13 14:19
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) エクセルで最下行にデータを追加するVBA 6 2023/05/09 09:30
- Visual Basic(VBA) マクロを短くする 1 2023/01/15 00:11
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Excel(エクセル) excelVBAについて。 8 2022/12/11 13:47
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA 複数行を数の分だけ挿入したい
Visual Basic(VBA)
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
Excelでコピーした行の挿入を繰り返すには
Excel(エクセル)
-
-
4
Excelで行ごとコピー、同じ行を3行にしたい
Excel(エクセル)
-
5
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
6
特定の条件の時に行を挿入したい
Excel(エクセル)
-
7
エクセルVBAで、行コピーを複数行にペーストする方法
Excel(エクセル)
-
8
Excelで一行おきに2行の空白行を挿入したい
その他(Microsoft Office)
-
9
エクセルVBA Unionはなぜ遅い?
Visual Basic(VBA)
-
10
Excelで、あるセルの値に応じて行を自動挿入したい
Visual Basic(VBA)
-
11
VBAで条件が一致する行をコピーしその1つ下へ挿入
Excel(エクセル)
-
12
特定の文字を条件に行挿入とそこからセルデータを追加するVBAについて
Visual Basic(VBA)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
15
Excelで行の挿入を繰り返し行う
Excel(エクセル)
-
16
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
17
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで2行単位のソートの出来...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
excel:別シートの値を飛び飛び...
-
エクセルで1列に500行並んだデ...
-
エクセルVBA C列に特定の文字列...
-
エクセルで横並びの複数データ...
-
エクセルで、重複データを除外...
-
重複するデータの一部だけを抽...
-
Excelの30個ずつの平均値の出し方
-
エクセルで1つの会社名に対して...
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelの入力規則で2列表示したい
-
エクセルの複数のセルを一括で...
-
複数の文字列のいずれかが含ま...
-
おねがいします>< エクセルで...
-
エクセルで特定のセルを表示の...
-
Excel関数、何がいけないのかわ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで2行単位のソートの出来...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
エクセルで1列に500行並んだデ...
-
エクセルで、重複データを除外...
-
excel:別シートの値を飛び飛び...
-
Countifよりも早く重複数をカウ...
-
エクセルで横並びの複数データ...
-
VBA 数式を最終行までコピー
-
不要な行を消したい
-
エクセルVBA C列に特定の文字列...
-
Excelの30個ずつの平均値の出し方
-
エクセル2016にて、行挿入&コピ...
-
エクセルで1つの会社名に対して...
-
VBA 大きなtxtテキストファ...
-
【VBA】A列にある連続したデー...
-
エクセルで沢山のレコードの最...
-
500行の中から、多い順に抽出す...
-
エクセルで時刻だけを抜き出す...
-
Excel VBA 【QueryTables.Add】...
おすすめ情報