从excel vba的列中的所有单元格中删除不需要的字符

Posted

技术标签:

【中文标题】从excel vba的列中的所有单元格中删除不需要的字符【英文标题】:remove unwanted characters from all cells within a column in excel vba 【发布时间】:2017-05-17 09:38:09 【问题描述】:

我有一个 vba 代码,可以将 A-Z、a-z 或 0-9 以外的字符从 A1 单元格删除到 G1 单元格。我如何将整个 A:A 迭代为 G:G?我的代码仅适用于一个单元格。我想做一列中的所有单元格。请帮忙。

   Sub test()     
       Dim a$, b$, c$, k As Integer

       a$ = Range("A1").Value
       For i = 1 To Len(a$)
           b$ = Mid(a$, i, 1)
           If b$ Like "[A-Z,a-z,0-9]" Then
               c$ = c$ & b$
       End If
       Next i
       Range("G1").Value = c$     
    End Sub

【问题讨论】:

【参考方案1】:

您可以重复使用循环或循环的版本来循环单元格。

可能有比这更好的方法,但它应该可以工作

Sub Test()
Dim a$, b$, c$, k As Integer, LastR#, x As Long

LastR = Range("A" & Rows.Count).End(xlUp).Row
For x = 1 To LastR
    a = Range("A" & x).Value
    c = ""
    For I = 1 To Len(a$)
        b = Mid(a$, I, 1)
        If b$ Like "[A-Z,a-z,0-9]" Then
            c = c & b
        End If
    Next I
    Range("G" & x).Value = c
Next x
End Sub

【讨论】:

以上是关于从excel vba的列中的所有单元格中删除不需要的字符的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA代码查找列中的最大单元格值并删除其下方的所有行

基于固定宽度的单元格中 MID/拆分文本的 Excel VBA 代码

VBA 代码填充 7 个相邻单元格中的索引匹配函数

VBA 从 Excel 中删除公式符号

如果在excel VBA中判断A列中的空白单元格,遇到后就终止程序

使用 VBA for Excel 从大量单元格中删除“额外”空格(超过 1 个)的更快方法