Sub hoge()
Cells.EntireColumn.Hidden = False '初期化
Columns("B").EntireColumn.Hidden = True
Columns(4).EntireColumn.Hidden = True
Range("F1").EntireColumn.Hidden = True
Range("H3:J3").EntireColumn.Hidden = True
Range(Range("L3"), Range("N3")).EntireColumn.Hidden = True
Dim rFm As Range
Dim rTo As Range
Set rFm = Range("P3")
Set rTo = Range("R3")
Range(rFm, rTo).EntireColumn.Hidden = True
End Sub
ですので、以下のような応用例もありますね。
Sub fuga()
Cells.EntireColumn.Hidden = False '初期化
Dim cFm As Long
Dim cTo As Long
cFm = 3
cTo = 9 '9に深い意味はありませんが
Dim rFm As Range
Dim rTo As Range
Set rFm = Range("A3").Offset(, cFm)
Set rTo = Range("A3").Offset(, cTo)
Range(rFm, rTo).EntireColumn.Hidden = True
End Sub
マメコトさんの投稿
(投稿ID: 3996)
4から始めたのはD列から非表示だからです。
これも動きますから、(コードが少ない分)簡単だと思います。
どうでしょうか。
小川慶一さんのコメント
(コメントID: 5549)
おもしろいですね。
その文脈で言うと、実は、以下のように書くことも可能です。
ですので、以下のような応用例もありますね。
さらにいろいろ研究してみてください☆