
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
エクセルで、重複データを除外...
-
Excelで2行単位のソートの出来...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
excel:別シートの値を飛び飛び...
-
Countifよりも早く重複数をカウ...
-
VBA 数式を最終行までコピー
-
エクセルで横並びの複数データ...
-
マクロで統合
-
エクセルでデータの重複削除方法
-
不要な行を消したい
-
Excelで表を作り、自動で今月の...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
IF関数で0より大きい数値が入力...
-
お肉の下のシートを煮込んでし...
-
複数の文字列のいずれかが含ま...
-
エクセルのセルが縦方向にのびる
-
A1セルに入力したら、入力時間...
-
エクセルの複数のセルを一括で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
Excelで2行単位のソートの出来...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
Countifよりも早く重複数をカウ...
-
不要な行を消したい
-
エクセルで横並びの複数データ...
-
Excelの30個ずつの平均値の出し方
-
VBA 大きなtxtテキストファ...
-
エクセル2016にて、行挿入&コピ...
-
VBA 数式を最終行までコピー
-
Excel VBA 空白セル以下のデー...
-
【VBA】A列にある連続したデー...
-
Excelでデーターが多いので、平...
-
【エクセル】1列内に複数ある同...
-
エクセルVBA C列に特定の文字列...
-
エクセル~空白のセルのある行...
-
本日の日付を超えているものを...
おすすめ情報