Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim rg As Range
Set rg = Range("a1:c3")
For Each c In rg
If c.Value <> "" Then
c.ColumnWidth = 18
ElseIf c.Value = "" Then
c.ColumnWidth = 8
End If
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub