E4~Z4セルに、その列を表示させる場合は1を、させない場合は0が立つようにして
If Range("E4").Value = 0 Then
Columns("E:E").Select
Selection.EntireColumn.Hidden = True
End If
If Range("F4").Value = 0 Then
Columns("F:F").Select
Selection.EntireColumn.Hidden = True
End If
とZまで繰り返したマクロにしてみたらできましたが、
例えばDD列まであるような横長の表の場合、とても長いマクロになってしまいます。
もっとすっきりとしたものにできるでしょうか。
エクセル2003使用のマクロ初心者です。
よろしくお願いします。
Sub Macro1()
For i = 5 To Cells(4, Columns.Count).End(xlToLeft).Column
If Cells(4, i).Value = 0 Then
Columns(i).EntireColumn.Hidden = True
End If
Next i
End Sub
例えば20列までを対象にするのでしたら次のようにします。
For ColPos = 5 To 20
If Cells(4, ColPos) <> "" And Cells(4, ColPos).Value = 0 Then
Columns(ColPos).Select
Selection.EntireColumn.Hidden = True
End If
Next
お礼
うまくいきました。 とても助かりました。本当にありがとうございます。 No.2の方の方法もうまくいきましたが、 こちらの方法は縦の項目が増えても自動的に範囲を広げてくれるので 本当に助かります。 またよろしくお願いします。