セルに入力された値によって、列の表示/非表示を切り替えたいという時はありませんか?
そんな時は、Changeイベント(セルの値が変更された時に発生)を利用して制御します。
準備
① 開発→Visual Basic をクリック
② 対象のシートをダブルクリック
③ 「オブジェクトボックス」で「Worksheet」を選択
「プロシージャーボックス」で「Change」を選択
サンプル
陸路を選択した場合にC列 空路を非表示にする
実行例
陸路選択で、C列(空路)が非表示
再度空路を選択すると再表示される
ソース
Private Sub Worksheet_Change(ByVal Target As Range)
''B4~B7 変更されたか
If Intersect(Target, Range("B4:B7")) Is Nothing Then Exit Sub
''"陸路"が選択された場合は"空路"列を非表示にする
If Target.Value = "陸路" Then
Columns("C").Hidden = True
Else
Columns("C").Hidden = False
End If
End Sub