• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロで行全体を纏めて削除する場合)

マクロで行全体を纏めて削除する方法とは?

このQ&Aのポイント
  • マクロ初心者ですが、複数の行全体を一括で削除する方法を知りたいです。
  • Excelのマクロ例文辞典では一行を消す方法しか載っておらず、組み合わせる例がないため困っています。
  • また、他の操作(例えばセルの移動やコピー)と組み合わせる方法も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! とりあえず前者の質問に関して・・・ 行・列等を削除する場合は終列・終行から削除していきます。 そうしないと、最初から削除していくと元の行・列番号が変わってしまいますので、 お示しのコードを使うとすれば Sub mymacro1() Range("J:L").Delete Range("G:G").Delete Range("B:E").Delete End Sub とすれば大丈夫だと思います。m(__)m

dolemifasora
質問者

お礼

ご回答ありがとうございます。後ろから削除して行く方法は思いつきませんでした!早速試してみたところ、上手くできました。一人で考えていても思いつかない方法もあり、こうして教えてくださる事に感謝致します。ありがとうございました。

dolemifasora
質問者

補足

先ほど教えていただいた方の Range("B:E,G:G,J:L").delete shift:=xlshifttoleft だと同時に処理するので順番を気にする必要はないようですが、 Range("J:L").Delete Range("G:G").Delete Range("B:E").Delete の方法だと上から順番に動作するんですね。 記述の方法で動作する順番が変わることが分かったのですごく勉強になりました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

一つのご相談投稿では,1つのご質問内容を解決するようにしてください。これはこちらのような質問投稿掲示板の,ごく一般的なマナーです。 #余談ですが,エクセルでは「A列」「B列」「C列」,「1行目」「2行目」「3行目」のように呼ぶ習わしになっています。共通の言葉で喋るようにしないと,つまらない所で足をすくわれます。 >組み合わせて動かしたい場合の例が載っていないのでどうしたら良いのか分かりません。 range("B:E,G:G,J:L").delete shift:=xlshifttoleft のように。 >同時に行いたい場合はどうしたらいい それは具体的にどんな結果が欲しいのですか? どこ番地のセル範囲にどんな内容(数式?生データ?)が記載してあるのを,どこ番地のセルにどんな内容で転記?コピー?したい(何をしたいの?どんな結果が欲しいの?)か,具体例を挙げてご相談を投稿し直してください。

dolemifasora
質問者

お礼

ご回答ありがとうございます。今後は1つのスレッドに1件の質問を守りたいと思います。また、行と列の記載もご指摘ありがとうございます。ご回答頂いたrange("B:E,G:G,J:L").delete shift:=xlshifttoleftにて試してみたいと思います。""の位置がおかしかったようですね。 また、"同時に行いたい場合はどうしたらいい"という質問ですが、 B2から始まる表をE3に移し、数式の入っているE4を表の列の最後であるE10までコピーしたい場合です。こちらは再度投稿し直します。

関連するQ&A

専門家に質問してみよう