Единственная важная проблема заключается в том, что ведущий ноль может быть первым символом в строке символов или просто быть результатом форматирования числового значения с ведущими нулями. Решение должно охватывать оба случая.
Рассмотрим User Defined Function:
Public Function DropTheZeros(r As Range) As Variant
Dim s As String, i As Long
s = r(1).Text
For i = 1 To Len(s)
DropTheZeros = Mid(s, i, 1)
If DropTheZeros <> "0" Then Exit Function
Next i
DropTheZeros = ""
End Function
Это должно работать, даже если ведущие нули выдумка форматирования.
Или даже:
Public Function DropTheZeros2(r As Range) As Variant
DropTheZeros2 = Left(Replace(r(1).Text, "0", ""), 1)
End Function
Или даже без VBA:
=LEFT(SUBSTITUTE(TEXT(A1,"@"),"0",""),1)
Покажите свою формулу. – findwindow
У меня нет формулы, формула - это то, о чем я прошу. – codetemplar
SO не является сервисом Excel. – findwindow