vba去掉单元格中的'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba去掉单元格中的'相关的知识,希望对你有一定的参考价值。

在第一列和第二列中的某些单元格的最前面一个字符为’,如何去掉这个符号?请写一个完整的宏...

参考技术A 如果前面有"'"符号,系统默认为文本格式,宏代码如下:
Sub deleteStr()
For i = 1 To 2
myRow = Range(Cells(65536, i), Cells(65536, i)).End(xlUp).Row
For j = 1 To Range(Cells(65536, i), Cells(65536, i)).End(xlUp).Row
myValue = Cells(j, i)
If Application.IsText(Cells(j, i)) = True Then
Cells(j, i) = myValue
End If
Next j
Next i
End Sub
你试试行不行本回答被提问者采纳
参考技术B '删除你选定的单元格的上撇号,方法是让每个单元格等于他的值。

Sub RemoveApostrophe()

For Each CurrentCell In Selection
If CurrentCell.HasFormula = False Then

'Checks to make sure that procedure does not
'change cell with a formula to be only the value
CurrentCell.Formula = CurrentCell.Value
End If
Next

End Sub
参考技术C 如下:
Sub remove()
Dim ct As Integer
ct = Range("a65535").End(xlUp).Row + 1
Range("a" & ct) = 1
Range("a" & ct).Select
Selection.Copy
Columns("A:B").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Range("a" & ct).Delete
End Sub

大部分是录制的,注意处理前请先备份好原文件,以免发生特殊情况.还有,这个宏会有个缺点未完善,就是如果AB列有超链接,它也会把AB列的超链接都去除掉了.

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

【中文标题】从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

【讨论】:

以上是关于vba去掉单元格中的'的主要内容,如果未能解决你的问题,请参考以下文章

vba怎样把一个单元格中的值赋给另一个单元格

VBA如何将单元格中的年份转为天数

使用 VBA 保存:不同单元格中的路径和文件名

vba在单元格中生成的公式如何变成文本值

使用 VBA 在 Excel 单元格中运行 SQL 语句

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