Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then 'Column 2 and row 1 ---> B1
If Target.Value = 2 Then 'Write your condition here!
Columns("B:B").ColumnWidth = 10
Else
Columns("B:B").ColumnWidth = 5
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
For n = 9 To 67
If Target.Address = ("$C$" & n) Then
If Target.Value < Range("$C$" & n-1).Value Then
Columns("B:B").ColumnWidth = 20
Else
Columns("B:B").ColumnWidth = 5
End If
End If
Next n
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'==================================================================================
'If we are checking for a specific column then we don't need to check whole column
'Change Range C9:C67 to suit your requirement!
'==================================================================================
If Not Intersect(Target, Range("C9:C67")) Is Nothing Then
If Target.Value < Target.Offset(-1, 0).Value Then
Columns("B:B").ColumnWidth = 20
Else
Columns("B:B").ColumnWidth = 5
End If
End If
End Sub