Очень частая ситуация, когда у нас есть какой-то номер в списке. который начинается с нуля, но при копировании на лист Эксель эксель воспринимает формат данных как числовой и "съедает" нолик (или даже нолики).
Например, вот такой список
1. В принципе, проблема может решаться формулой.
Переводим ячейки, в которые надо добавить нолики, в текстовой формат. Если нам надо просто вставить нолики, то формула будет следующая: ="0"&C10, если же надо поставить условием определенную длину. то =IF(LEN(C8)<8;"0"&C8;C8)
После чего копируем полученные результаты и вставляем список как значения, заменяя значения со съеденными на получившийся список.
2. Но когда у нас каждый первый список с сожранными нулями, тогда формулы будут отнимать лишнее время и есть смысл поработать макросом.
Макрос, который просто добавляет нолики:
Sub add_zeros_simple()
Dim a As String
Dim x
LRow = Selection.Rows.count
Selection.NumberFormat = "@"
For I = 1 To LRow
Selection.Cells(I) = "0" & Selection.Cells(I)
Next I
End Sub
А вот тут добавлено условие - в данном случае, по длине строки (условие выделено - при длине строки равной 7, вы можете это поменять под свои условия)
Sub add_zeros()
Dim a As String
Dim x
LRow = Selection.Rows.count
Selection.NumberFormat = "@"
For I = 1 To LRow
If Len(Selection.Cells(I)) = 7 Then Selection.Cells(I) = "0" & Selection.Cells(I)
Next I
End Sub
Как установить макрос в Эксель видео (не мое)