Здравствуйте!
Требуется помощь в модификации кода для макроса в эксель.
Макрос меняет экспоненциальный формат записи типа 5E+02, в аналогичную запись с 10 в степени.
Нужно внести правку, чтобы для положительных степеней не отображался +.
Option Explicit
Sub E()
Dim t As String, np As String, midl As String
Dim signp As String, i As Long, ary, expp As String
Dim msg As String, neg As Boolean, r As Range
midl = "·10"
ary = Split("8304,185,178,179,8308,8309,8310,8311,8312,8313", ",")
For Each r In Selection
msg = ""
t = r.Text
If Left(t, 1) = "-" Then
neg = True
t = Mid(t, 2)
Else
neg = False
End If
np = Mid(t, 1, 4)
signp = Mid(t, 6, 1)
If signp = "+" Then
signp = ChrW(8314)
Else
signp = ChrW(8315)
End If
expp = Mid(t, 7)
If Left(expp, 1) = "0" Then expp = Mid(expp, 2)
For i = 1 To Len(expp)
msg = msg & ChrW(ary(CLng(Mid(expp, i, 1))))
Next i
msg = np & midl & signp & msg
If neg Then msg = "-" & msg
msg = Chr(34) & msg & Chr(34)
r.NumberFormat = msg & ";" & msg & ";" & msg & ";"
Next r
End Sub