Удалить символы в Excel - PullRequest
0 голосов
/ 09 января 2019

Я экспортирую список из SharePoint онлайн, который экспортирует столбцы поиска и их ID, которые невозможно изменить.

На экспорт это выглядит так:

enter image description here

Есть ли способ написать функцию Excel для удаления определенных комбинаций символов? Я хотел бы, чтобы что-то подобное ;#(Number between 1-2000)# и ;#(Number between 1-2000) было удалено.

enter image description here

1 Ответ

0 голосов
/ 09 января 2019

Используйте функцию AlphaOnly, чтобы удалить все не символьные экземпляры. Все, что не [a-z, A-Z], будет очищено от строки.

Макрос Alpha предназначен для циклического перебора определенного предопределенного диапазона и будет применять значение, сгенерированное формулой. В этом случае диапазон для зацикливания равен A1:A10, и его необходимо соответствующим образом отрегулировать.


Функция должна быть вставлена ​​в Module для запуска.

Option Explicit

Function AlphaOnly(strSource As String) As String

Dim i As Integer
Dim strResult As String

For i = 1 To Len(strSource)
    Select Case Asc(Mid(strSource, i, 1))
        Case 65 To 90, 97 To 122
            strResult = strResult & Mid(strSource, i, 1)
    End Select
Next

AlphaOnly = strResult

End Function


Sub Alpha()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")  '<-- Update
Dim i As Range

For Each i In ws.Range("A1:A10") '<-- Update
    i = AlphaOnly(i.Text)
Next i

End Sub

Источник функции , который был слегка модифицирован для соответствия потребностям OP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...