Ваше начинание страшно из-за его способности конвертировать совершенно хорошие данные в руби sh. Приведенный ниже код заменит запятые точками только в том случае, если NumberFormat ячейки = "General". Щелкните правой кнопкой мыши ячейку и выберите Формат ячеек . «Общие» - это первый элемент на вкладке Number . Это формат по умолчанию для всех первичных ячеек на листах Excel, и это «общий» формат, который позволяет Excel угадывать, ввели ли вы число или текст. Эта функция позволяет исключать столбцы или ячейки на рабочем листе из опустошения моего кода, просто применяя другой формат, например, 0,000000 или «Текст».
Sub TextToNumber()
Const FirstRow As Long = 2 ' set as required
Dim Rng As Range
Dim C As Long ' selected column
Dim Rl As Long ' last row
Dim R As Long
Dim Tmp As Variant
C = Selection.Column
Rl = Cells(Rows.Count, C).End(xlUp).Row
Set Rng = Range(Cells(FirstRow, C), Cells(Rl, C))
Application.ScreenUpdating = False
For R = FirstRow To Rl
With Cells(R, C)
If .NumberFormat = "General" Then
Tmp = .Value
Tmp = Replace(Tmp, ",", ".")
.Value = Tmp
End If
End With
Next R
Application.ScreenUpdating = True
End Sub
Мой код выполняется в столбце, выбранном перед вами запустить его. Выберите любую отдельную ячейку (не нужно выделять весь столбец). Если вы выберете несколько столбцов, будет обработан только первый. Запятые будут заменены точками из первой строки, которую вы можете установить в коде, до конца столбца, который макрос находит самостоятельно.