• ベストアンサー

VBA初心者です。空白の行を詰めたいです。

こんにちは。 お仕事上、必要になりましてぜひともご教授願います。 (1)A列に もぐら と書いていない行は全部消すVBAの式 (2)A列に もぐら と書いていない1~500の行は全部消すVBAの式 (3)A列が 空白の200~400行を全て消すVBAの式 を教えてください。似たような式をwebで見つけたのですが イマイチ応用ができませぬ。それと実行に時間も かかってしまうので、ぜひとも解りやすく宜しくお願い致します。 はあ、今夜も徹夜かあ。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

(2)は以下の通りです Sub Macro() Dim idx As Integer  Application.ScreenUpdating = False  For idx = 500 To 1 Step -1   If Cells(idx, "A") <> "もぐら" Then    Rows(idx).Delete   End If  Next idx  Application.ScreenUpdating = True End Sub (1)はA列の最終行を  Range("A65536").End(xlUp).Row で取得しましょう。 (3)は考えてみて下さい。すぐに分かるはずです。

mogurayama
質問者

お礼

ご回答ありがとうございました!! 非情に仕事がはかどることになりました。 zap35さんに感謝です!!

その他の回答 (1)

  • rollback
  • ベストアンサー率14% (1/7)
回答No.2

お疲れ様です。 必要条件が上記だけならば、VBAは必要ないかと思います。 (1)一番左に列を追加 (2)追加した列に1、2、3・・・とオートフィルで行NOを作成 (3)ツールバーの「データ」→「フィルタ」→「オートフィルタ」を押下 (4)オプションで「もぐら」以外にする (5)消したいものを削除 で、(1)~(3)全て可能かと思われます。  これではダメですか?

mogurayama
質問者

お礼

なるほど、そのようにもできるのですね。 頭の発想が鈍いなあ・・・・ ありがとうございます!!

関連するQ&A