プロが教える店舗&オフィスのセキュリティ対策術

[sheet1]内での作業ですが…
雛形のページを1枚作成して、複数枚のページが必要になったので「マクロの記録」で1ページ分の行をコピーして、1ページの下に貼り付けてみました…で、それは実行できるのですが、3ページ目では実行できません。
マクロの知識はありませんが、ページを貼り付ける行が変更できないからだなぁ~と。

=====================
Sub ページを追加()
'
' Macro1 Macro
' マクロ記録日 : 2013/12/12 ユーザー名 : エクセル-NOTE
'

'
Rows("9:51").Select
Selection.Copy

Rows("52:52").Select
ActiveSheet.Paste
End Sub
=====================
何処でも好きな行を選択してページを増やすことはできないのでしょうか?

ただ、単純にページを下へ下へと、必要な分だけ追加したいのです…が。
上の「数行」は見出しに利用しています。

A 回答 (2件)

Rows("9:51").Select Selection.Copy



Rows("52:52").Select ActiveSheet.Paste
Rows("94:94").Select ActiveSheet.Paste

でどうなります?

この回答への補足

返事が遅くなりました、申し訳ないです。<(_ _)>
早速、教えていただいたmacroをコピーして確認してみましたが…
エラー??(よく解りません)になりました。

ページを増やすというより、結局のところは「行をコピーして貼り付け」なので、もう少し試してみます。

ありがとう御座いました。

補足日時:2013/12/17 19:11
    • good
    • 0
この回答へのお礼

今回は、素早い対応、ありがとう御座いました。
返事が遅れまして、すみません。

macroのほうも、私の知識不足のため、十分な検証もできなかったことだと思っています、申し訳ないです。

ありがとう御座いました。

お礼日時:2013/12/17 19:32

マクロを実行毎にコピペで1ページ分を増加させたいという事であれば下記方法で可能だと思います。


ご参考まで。

Sub ページを追加()

Dim myRange As Range
Dim Maxrow, i, j As Long

'データがあるセル範囲の最終行番号を取得
Set myRange = ActiveSheet.UsedRange
Maxrow = myRange.Row + myRange.Rows.Count - 1

'現在ページ数を計算
i = Application.RoundUp((Maxrow - 8) / 43, 0)

'ペーストを開始する行番号を計算
j = i * 43 + 9

Rows("9:51").Select
Selection.Copy

Rows(j).Select
ActiveSheet.Paste

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます、返事が送れました、申し訳ないです。m(_ _)m

教えていただいたmacroで対応できました。
知識がないのでmacro自体は意味がわかりませんが…

できれば、できたで…
「そっかぁ~こういう事も、ああいうこともできるかなぁ~」などと、いろいろ考えが広がりましたので、今回のことを契機にmacroを少し勉強しようと思いました。
また、質問をするかも解りません…その時は、よろしくです。

今回はありがとう御座いました。

お礼日時:2013/12/17 19:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています