Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vx$, n%, i%
With Target
If .CountLarge > 1 Then Exit Sub
If .Column > 1 Then Exit Sub
vx = .Value: n = Len(vx): Application.ScreenUpdating = 0
If n = 0 Then Rows(.Row).ClearContents: Exit Sub
For i = 1 To n: .Offset(, i) = Mid$(vx, i, 1): Next i
End With
End Sub