MiloNNe
@MiloNNe
Жаль не взял собой рундук. Сундук для рун - РУНДУК

Функция замен символов VBA?

Мне нужно сделать функцию VBA которая будет менять пробелы точки скобки и запятые в ячейке эксель на -
Вот вроде код который меняет пробелы помогите модифицировать пожалуйста что б он работал как надо А то я в VBA полный 0
Sub prac()
      Dim x As String, a As Long, lastrow As Long, i As Long
      Dim xcell As String
      x = "-"
      a = 1
      lastrow = Worksheets("Sheet1").UsedRange.Rows.Count + 1
         For i = a To lastrow
           xcell = Worksheets("Sheet1").Range("A" & i)
              If InStr(1, xcell, "") > 0 Then
           Worksheets("Sheet1").Range("A" & i) = Replace(xcell, " ", x)
             End If
         Next i
End Sub
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант
Если не морочться с регулярками (а по идее, надо бы), то достаточно поменять строку
Worksheets("Sheet1").Range("A" & i) = Replace(xcell, " ", x)

на что=-то вроде
xcell = Replace(xcell, ".", x)
xcell = Replace(xcell, ",", x)
xcell = Replace(xcell, "(", x)
xcell = Replace(xcell, ")", x)
xcell = Replace(xcell, " ", x)
Worksheets("Sheet1").Range("A" & i) = xcell


Но вообще, как и говорил, лучше подключить регулярки (это минутное дело) и использовать их
Вот, например, статья на русском
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы