删除所选单元格中的撇号

时间:2017-07-09 11:51:11

标签: vba apostrophe

我是VBA的初学者。 尝试将选定区域中的电子表格(例如“'123”到“123”)中的文本值更改为“常规”或“数字”。 我有我的小代码可以选择(但不能更改为常规)

Sub Macro1()
'
' Macro1 Macro

    Rows("1:1").Select
    Selection.AutoFilter
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=8, Criteria1:="NUM"
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=10, Criteria1:="0"
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=6, Criteria1:="<>"

  With Selection
   .NumberFormat = "General"

    End With


End Sub

我应该在代码中更改哪些内容才能获得所需的结果? 谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

你是怎么得到的&#39;你的领域?

通常,您可以使用:

  

替换(string1,查找,替换,[开始,[计数,[比较]]])

Dim LResult As String

LResult = Replace("alphabet", "a", "e")

在这个例子中,名为LResult的变量现在包含值&#34; elphebet&#34;。

答案 1 :(得分:0)

将文本转换为数字尝试:

Sub ConvertTextNumberToNumber()
For Each WS In Sheets
On Error Resume Next
For Each r In WS.UsedRange.SpecialCells(xlCellTypeConstants)
If IsNumeric(r) Then r.Value = Val(r.Value)
Next
Next
End Sub

你可以调用这个函数:

Sub Macro1()
'
' Macro1 Macro

    Rows("1:1").Select
    Selection.AutoFilter
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=8, Criteria1:="NUM"
Call ConvertTextNumberToNumber()
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=10, Criteria1:="0"
Call ConvertTextNumberToNumber()
ActiveSheet.Range("$A$1:$O$49999").AutoFilter Field:=6, Criteria1:="<>"
Call ConvertTextNumberToNumber()


End Sub