#excel #vba
Вопрос:
Почему он хочет знак «=» после функции замены?
For Each cel In Application.Selection.Cells
scell = cel.Value
For c = 1 To Len(scell)
If Not is_number(Mid(scell, c, 1), c) Then
Replace(scell, Mid(scell, c, 1),"")
End If
Next
Next
Комментарии:
1.
Replace
является функцией — она возвращает строку. Вы должны назначить его переменной или чему-то в этом роде.x = Replace()
— docs.microsoft.com/en-us/office/vba/language/reference/…2. О, хорошо, большое тебе спасибо
3. Существуют лучшие способы извлечения только числовой части строки, например, регулярное выражение.
4. И этот метод не будет работать с персонажами спина к спине. Например
1ab2cd
, вернется1b2d
, потому что b, который находится на 3-м месте, станет 2-м, когда a будет удален. Если вы настаиваете на использовании этого метода, выполните цикл в обратном направлении.5. Я делаю это для практики, чтобы изучить циклы, операторы if, функции и так далее