Подход с помощью Replace
функции
Вы можете прочитать данные в массив поля данных , заменить упомянутые данные "<" с помощью функции <code>Replace изапишите их обратно в одном утверждении с помощью следующего кода.- Конечно, можно использовать RegEx , как указано в комментарии выше.
Примечания
a) Я предполагаю, что вы используете данные встолбец A: от A до Set rng = ws.Range("A1:A" & n)
;это может быть легко изменено на любой другой диапазон.
b) При присваивании значений другому массиву полей данных автоматически создается двухблочный массив на основе одного, к которому вы обращаетесь только в случае одного столбца, например, с помощью v(1,1)
, v(2,1)
, v(3,1)
и т. Д. До v(n,1)
.
Пример кода
Option Explicit
Sub replaceLowerThan()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("MySheet") ' << Change to your sheet name
Dim n As Long, i As Long
Dim rng As Range
Dim v
' get last row number and define data range
n = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
Set rng = ws.Range("A1:A" & n)
' write data to 1-based 2-dim datafield array
v = rng.Value2
' replace "<..." values
For i = 1 To n
If Not IsError(v(i, 1)) Then ' omit cells with errors like #DIV/0!
If v(i, 1) Like "<*" Then v(i, 1) = Replace(v(i, 1), ".", ",")
End If
Next i
' write values back
rng.Value2 = v
End Sub