• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAについてお尋ねいたします。以前、列の検索範囲から指定列中)

Excel VBAで空欄を含む行を削除する方法

このQ&Aのポイント
  • ExcelVBAで、特定の列の空欄を含む行を削除する方法について教えてください。
  • 現在のマクロでは、指定された範囲の特定の列に存在する空欄を検索し、該当する行を削除しています。
  • ただし、検索範囲が変わった場合にも対応し、削除の範囲を指定できるようにしたいと考えています。どのように変更すれば良いでしょうか?

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>checkColIndex = 1    ↓ checkColIndex = Application.InputBox("削除を行う範囲を指定して下さい。" _ & vbCrLf & "(A列:1、B列=2、C列=3...)", Default:=1, Type:=1)

police_123
質問者

補足

ご回答いただき有難うございました。早速試しましたが、私の質問が的を射ていない物であったと反省致しました。 削除を求めた対象を「行」と表記致しましたが、正しくは指定範囲内の「セル」であり、対象セルのみを上方に削除する事が目的でした。 ですので、watabe007先生のコマンドが例えばA1:J10までの範囲指定と空欄の検索をB列と設定することが出来たと仮定した際に、範囲内のBセルに空欄が存在した際の「空欄を含む A~J までのセルの上方削除」を目的としております。(K列以降の情報保護から) <例> ’削除を行う範囲 (1=1行、2=2行、3=3行...) (1=A列、2=B列、3=C列...) ' 開始行の値 minRow = 1 ' 終了行の値 maxRow = 10 ' 開始列の値 例えば 1(A列) ' 終了列の値 例えば 10(J列) ※「A1:J10」のような範囲指定でも構いません。 '空欄検索列 例えば 2(B列) ※「B」のような直接指定でも構いません。検索列は必ず1列です。 ’上記指定範囲(A1~J10)の内、B列に空欄が存在した際に空欄セルを含むA~Jセルを上方削除 *** ※上記範囲中のB列偶数行に空欄が存在した場合 A2:J2、A4:J4、A6:J6、A8:J8、A10:J10 のセルが上方へ削除されることとなります。 可能であればInputBoxを使わずに直接のコマンド指定を望んでおります。 ご親切に回答くださったにも拘らず、曖昧な質問をしてしまい大変申し訳ございませんでした。 ご無礼ながら引き続きご教授を宜しくお願い致します。 以上

関連するQ&A

専門家に質問してみよう