Знак минус из конца числа нужно перебросить в начало, чтоб число считалось числом.
Мой вариант:
Sub Minus_End()
'
' Minus_End Ìàêðîñ
' Óáèðàåò ìèíóñ â êîíöå îòðèöàòåëüíûõ ÷èñåë
'
' Ñî÷åòàíèå êëàâèø: Ctrl+d
'
Dim r As Range
Dim j, ColMax
j = 1
Set r = Selection
ColMax = Selection.Columns.Count
'If ColMax >= 500 Then ColMax = 500
'End If
Do While j <= ColMax
r.Columns(j).Select
Selection.TextToColumns DecimalSeparator:=",", _
ThousandsSeparator:=".", TrailingMinusNumbers:=True
j = j + 1
Loop
Range("A1").Select
End Sub
Идея в следующем: берем произвольно выделенный диапазон, в каждой колонке этого диапазона выполнить преобразование.
Чего не получилось: не жрет пустые колонки (это не важно),
-1
1-
1,09-
5,02
-7,05
В дробных числах (которые уже числа) меняет разделитель:
-1
-1
-1,09
5.02
-7.05
Подскажите, пожалуйста, как это победить?
Мой вариант:
Sub Minus_End()
'
' Minus_End Ìàêðîñ
' Óáèðàåò ìèíóñ â êîíöå îòðèöàòåëüíûõ ÷èñåë
'
' Ñî÷åòàíèå êëàâèø: Ctrl+d
'
Dim r As Range
Dim j, ColMax
j = 1
Set r = Selection
ColMax = Selection.Columns.Count
'If ColMax >= 500 Then ColMax = 500
'End If
Do While j <= ColMax
r.Columns(j).Select
Selection.TextToColumns DecimalSeparator:=",", _
ThousandsSeparator:=".", TrailingMinusNumbers:=True
j = j + 1
Loop
Range("A1").Select
End Sub
Идея в следующем: берем произвольно выделенный диапазон, в каждой колонке этого диапазона выполнить преобразование.
Чего не получилось: не жрет пустые колонки (это не важно),
-1
1-
1,09-
5,02
-7,05
В дробных числах (которые уже числа) меняет разделитель:
-1
-1
-1,09
5.02
-7.05
Подскажите, пожалуйста, как это победить?