- ベストアンサー
エクセルでページをコピーして貼り付けるマクロ
- エクセルで複数枚のページを作成するためのマクロを利用していますが、一部のページではマクロが実行できない問題が発生しています。
- マクロの記録機能を使用して、ページの行をコピーして貼り付けることができますが、特定の行にのみ貼り付けができずに困っています。
- ページを下に追加するためには、特定の行を選択して追加することができないため、別の方法を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
マクロを実行毎にコピペで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
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
Rows("9:51").Select Selection.Copy Rows("52:52").Select ActiveSheet.Paste Rows("94:94").Select ActiveSheet.Paste でどうなります?
お礼
今回は、素早い対応、ありがとう御座いました。 返事が遅れまして、すみません。 macroのほうも、私の知識不足のため、十分な検証もできなかったことだと思っています、申し訳ないです。 ありがとう御座いました。
補足
返事が遅くなりました、申し訳ないです。<(_ _)> 早速、教えていただいたmacroをコピーして確認してみましたが… エラー??(よく解りません)になりました。 ページを増やすというより、結局のところは「行をコピーして貼り付け」なので、もう少し試してみます。 ありがとう御座いました。
お礼
ありがとうございます、返事が送れました、申し訳ないです。m(_ _)m 教えていただいたmacroで対応できました。 知識がないのでmacro自体は意味がわかりませんが… できれば、できたで… 「そっかぁ~こういう事も、ああいうこともできるかなぁ~」などと、いろいろ考えが広がりましたので、今回のことを契機にmacroを少し勉強しようと思いました。 また、質問をするかも解りません…その時は、よろしくです。 今回はありがとう御座いました。