Поместите эту функцию в редактор VBA на лист, где находятся ваши данные. Например, если ваши данные находятся на Листе1, вставьте эту функцию в Лист1 редактора VBA
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Address = "$I$6") Then
row_num = Range("I3").Value
If Not IsNumeric(row_num) Then Exit Sub
If (row_num < 6) Then Exit Sub
number_value = Target.Value
If Not IsNumeric(number_value) Then Exit Sub
If (number_value < 10000 Or number_value > 99999) Then Exit Sub
Range("A" & row_num).Value = Mid(number_value, 1, 1)
Range("B" & row_num).Value = Mid(number_value, 2, 1)
Range("C" & row_num).Value = Mid(number_value, 3, 1)
Range("D" & row_num).Value = Mid(number_value, 4, 1)
Range("E" & row_num).Value = Mid(number_value, 5, 1)
End If
If (Target.Address = "$I$3") Then
Range("I6").Value = 0
End If
End Sub
Дважды щелкните Имя листа и вставьте функцию