dポイントプレゼントキャンペーン実施中!

こんにちは!質問をお願いします。

エクセルで表を作成していますが、1行目が空白のセルがある場合に、その列を削除したいのですが、VBAでどのようなコードにすればよいでしょうか?

※上記のD列を削除し左詰めにしたい。(空白セルはAからBBまでの間で、特定の位置以降で発生します。)

※ちなみに1行目には、=N というようにほかのセルを参照し、文字の入力があれば表示するようにしています。

初心者につき、うまく説明できていないかもしれませんが、よろしくお願いいたします。

「エクセルで1行目が空白の場合、列を削除し」の質問画像

A 回答 (2件)

こんにちは!


>※ちなみに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
    • good
    • 2
この回答へのお礼

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

お礼日時:2013/09/09 17:49

>ちなみに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
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/09/09 17:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A