• ベストアンサー

表のなかに空白セルがある場合列を日表示にする

お世話になります。 D5からBK200くらいの表があり、 コマンドボタンにより 空白の列を非表示にしたいと思っています。 いろいろ調べて書いてみたのですが、うまくいきません。 どなたか教えていただけないでしょうか。 よろしくお願いします。 Sub 空白列表示しない() Dim I As Long For I = 5 To 200 If Cells(5, I).Value = "" Then Columns(I).Hidden = True Else End If Next End Sub

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

  • ベストアンサー
回答No.1

D5~BK200の範囲なのに、なぜFor I=5 To 200なのかが不明です。 Column(200)になるのはGR列なので、Forの範囲指定が間違っているのではないかと思います。 文面を読む限り、D5:BK200の範囲で縦一列に全くデータが入っていない列を非表示にしたい、と解釈しました。 Dim rngCol As Range, rngEnum As Range Dim i As Long, blnHidden As Boolean ' Dは4, BKは63です For i = 4 To 63 Set rngCol = Range(Cells(5, i), Cells(200, i)) blnHidden = True For Each rngEnum In rngCol If rngEnum.Value <> "" Then blnHidden = False Exit For End If Next Columns(i).Hidden = blnHidden Next

MIMI200905
質問者

お礼

ありがとうございます。 行と列がごっちゃになっていました。 なかなか前に進めず困っていたのですが、助けていただき感謝です。 コードの内容を次に生かせるように読み込んでみます。 本当にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A