

コピー用に、関数入りの行を一番下(65535行)にとってあります。
これについて。。。
関数入りの行を挿入したいときは?の質問に、
下記のようなマクロを作成してくださった方がいらっしゃるのですが、
間に挿入されるのではなく、上書きされて、前のデータが消えてしまいます。
例えば、3行目と4行目の間…5行目と6行目の間…として、
挿入で使いたいときは、
どこをどのように直したら良いか、教えてください。
空白行がたくさんあって、その行は詰めていただいて良いです。
うーん…もしかして…意味不明ですか?
'一番下の行コピー
Rows(65535).Copy
'現在のカーソル位置の一番左のA列へ移動
Cells(ActiveCell.Row, 1).Select
'そこに貼り付け
ActiveSheet.Paste
'コピーモード解除
Application.CutCopyMode = False
No.1ベストアンサー
- 回答日時:
貼り付けと挿入のソース上の違いは
貼り付けが Paste なのに対して
挿入は Insert なだけです。
下を読んで解らない時はもう一度聞いてください。
最終行に値が有る状態で行の挿入を行うとエラーが出てしまいます。
そこで、挿入の前に一行削除する必要があります。
例1)挿入する行を選択している事が前提です。
sub 例1()
Dim del_row As Long
'↓削除できる行の検索(A列を必須入力列としています。)
del_row = Range("A65536").End(xlUp).Row + 1
'↓不要行の削除(Shift:=xlupは削除後上に詰めるを意味します。)
Rows(del_row).Delete Shift:=xlUp
'↓最終行のコピー
Rows(65535).Copy
'↓コピー内容の挿入(挿入する列が選択されている事が前提です)
Selection.Insert Shift:=xlDown
'↓コピーモードの終了
Application.CutCopyMode = False
end sub
例2)例1と似ていますが、選択行の下に挿入します。
Sub 例1()
Dim del_row As Long
del_row = Range("A65536").End(xlUp).Row + 1
Rows(del_row).Delete Shift:=xlUp
Rows(65535).Copy
'↓コピー内容の挿入(Offset(1,0)で選択行の1行下に設定)
Selection.Offset(1, 0).Insert Shift:=xlDown
Application.CutCopyMode = False
End Sub
例1の方が、イメージにピッタリでした。
うまく動いてくれて、感激。
ご丁寧なコメントも助かりました。
ありがとうございました。
また機会がありましたらお世話してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- その他(Microsoft Office) 関数を教えてください 1 2022/12/13 15:56
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 最終行の指定について教えてください。 複数シートを1シートへまとめる下記マクロでは各シートの6行目を 1 2022/10/04 18:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数値に見えるものはすべて数値...
-
Excel VBAでオートフィルタで抽...
-
マクロで最終行を取得してコピ...
-
【マクロ】A列最終行までを、カ...
-
Excel97 指定した行だけマク...
-
VB.net
-
列から特定の文字列検索→該当以...
-
エクセルのVBAで指定した行数の...
-
エクセルのデータがない行には...
-
Access2003レポート:最終ペー...
-
Excelマクロの転記について
-
複数セルの入れ替え方法 excel vba
-
Excel VBA オートフィルタの結...
-
各個体に対する平均値の自動計...
-
Excel マクロの編集がグレーに...
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
WPSOffice_マクロの有効化について
-
エクセル関数>参照ファイル名...
-
エクセルで、「いいね」のよう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロで最終行を取得してコピ...
-
【VBA】条件に一致しない行を削...
-
Excel VBAでオートフィルタで抽...
-
数値に見えるものはすべて数値...
-
VB.net
-
列から特定の文字列検索→該当以...
-
エクセルで空白行を削除する ...
-
Excel マクロ 検索結果を別シ...
-
エクセルのデータがない行には...
-
【マクロ】A列最終行までを、カ...
-
【VBA】条件に一致しない行を削...
-
各個体に対する平均値の自動計...
-
エクセルのVBAで指定した行数の...
-
EXCEL VBAでA列にある空白行よ...
-
VBAでの重複データに色付け
-
空白を複数行一気に挿入するには?
-
エクセルで階層図を作る方法
-
vbaエクセルマクロについて she...
-
【至急】Excel 同一人物の情報...
-
Excel97 指定した行だけマク...
おすすめ情報