(※追記内容解決しました。)エクセルVBA超初心者です(データーの入ってない空白セル下に下にと連続にコピーペーストしたい)

Anonymous
2019-12-12T06:20:40+00:00

文字や数値を罫線で囲み表(1ページ)をつくりました。

単純にその表をコピーペーストして、1ページ目の下に2ページ、2ページ目の下に3ページとコピペのマクロでつく作りたいのですが上手くいきません。

インターネットで検索しながらVBAを見よう見まねで

Sub Macro1()

Macro1 Macro

       Range(A1:H19).Select

       Selection.Copy

       Range("A20").Select

       Selection.Insert shift:=xlDown

End Sub

というマクロを書いてみたのですが実行すればするほどA20にページがどんどん追加されるので古いページが下に下にいってしまうのです。

恥ずかしながら、そういうマクロを自ら書いているという事さえ1週間以上も気づかずにいました。

「1ページ目の下に2ページをコピペ。2ページ目の下に3ページ目をコピペする。」というサンプルコードを教えて頂けると大変助かります。

※追記

 sk.exe様にをコードを教えてもらい、とても助かったのですが

 コピペした表(罫線、数値、文字共に)を削除し、その削除した空白部分に再度、表をコピペしようとすると空白部分を避けるように、

 その下に表がコピペされてしまいます。コードの意味が分からないので、どの様に直したらよいのか分からず困っています(>_<)

 削除した空白に部分を避けずにコピペができるサンプルコードをどなたか教えて頂けないでしょうか。

↑追記内容解決しました。

削除の仕方をかえたら変えたら解決しました。(行番号ごと削除したら上記の様な現象は起きないことに気づきました。)

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2019-12-13T02:33:40+00:00

> データーの入ってない空白セル下に下にと連続にコピーペーストしたい

> 文字や数値を罫線で囲み表(1ページ)をつくりました。

> 単純にその表をコピーペースト

> Range(A1:H19).Select


Sub Macro2()

    Dim ws As Excel.Worksheet

    Dim lngLastRow As Long

    Set ws = ActiveSheet

    With ws

'        lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row       'A列においてデータが格納されている最後の行番号を取得する場合

        lngLastRow = .UsedRange(.UsedRange.Rows.Count, 1).Row   '使用されている領域の最後の行番号を取得する場合

    End With

    ws.Range("A1:H19").Copy ws.Cells(lngLastRow + 1, 1)

    Set ws = Nothing

End Sub


以上のような感じでしょうか。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-12-13T06:23:07+00:00

    sk.exe様ありがとうございます。

    できました!!ありがとうございます。

    ただ困ったことが起きました。

    コピペした表を罫線、数値、文字共に削除して再度同じ場所にコピペしようとすると一度削除され空白になっている場所を避けてその下にコピペされてしまします。

    再度、ご教授いただけないでしょうか。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません