在Excel中删除字符

时间:2019-01-09 17:05:39

标签: excel

我正在从SharePoint Online导出一个列表,该列表导出了无法更改的查找列及其ID。

在导出时,它是这样的:

enter image description here

有没有一种方法可以编写Excel函数来删除特定的字符组合?我希望删除与此;#(Number between 1-2000)#;#(Number between 1-2000)类似的东西。

enter image description here

1 个答案:

答案 0 :(得分:1)

使用函数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

Function Source进行了略微修改,以适应OP需求。