• ベストアンサー

エクセルで1行目が空白の場合、列を削除したい

こんにちは!質問をお願いします。 エクセルで表を作成していますが、1行目が空白のセルがある場合に、その列を削除したいのですが、VBAでどのようなコードにすればよいでしょうか? ※上記のD列を削除し左詰めにしたい。(空白セルはAからBBまでの間で、特定の位置以降で発生します。) ※ちなみに1行目には、=N というようにほかのセルを参照し、文字の入力があれば表示するようにしています。 初心者につき、うまく説明できていないかもしれませんが、よろしくお願いいたします。

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

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

こんにちは! >※ちなみに1行目には、=N というように・・・ はIF関数等で、ある条件の場合は「空白」になっているという前提です。 Sub 列削除() Dim j As Long For j = Cells(1, Columns.Count).End(xlToLeft).Column To 1 Step -1 If Cells(1, j) = "" Then Columns(j).Delete End If Next j End Sub こんなんではどうでしょうか?m(_ _)m

garageking
質問者

お礼

ご回答ありがとうございました。 おかげさまで無事動作しました。

その他の回答 (1)

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

>ちなみに1行目には、=N というようにほかのセルを参照し、文字の入力があれば表示するようにしています。 このご説明が正しく事実であれば、いま「空白のセル」は空白ではありません。 sub macro1()  dim c as long  for c = cells(1, columns.count).end(xltoleft).column to 1 step -1   if cells(1, c) = 0 then columns(c).delete shift:=xlshifttoleft  next c end sub

garageking
質問者

お礼

ご回答ありがとうございました。 おかげさまで無事動作しました。

関連するQ&A