我是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
我应该在代码中更改哪些内容才能获得所需的结果? 谢谢你的帮助!
答案 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