如何将Excel中作为文本的数字转换为数字?
我刚刚运行了一个宏,得到以下结果:如何将Excel中作为文本的数字转换为数字?,excel,vbscript,vba,Excel,Vbscript,Vba,我刚刚运行了一个宏,得到以下结果: Sub Macro1() ' ' Macro1 Macro ' ' Columns("B:B").Select Range("B4").Activate Selection.NumberFormat = "0.00" Selection.NumberFormat = "@" End Sub 现在无法理解Selection.NumberFormat=“0.00”和Selection.NumberFormat=“@”之间的区别,
Sub Macro1()
'
' Macro1 Macro
'
'
Columns("B:B").Select
Range("B4").Activate
Selection.NumberFormat = "0.00"
Selection.NumberFormat = "@"
End Sub
现在无法理解Selection.NumberFormat=“0.00”
和Selection.NumberFormat=“@”
之间的区别,您能帮我理解吗
我还试图将Excel中的一些数字文本转换为数字。这样做的好语法是什么?
快照:
编辑
我试图将存储为text
的所有数字转换为下面的数字,但没有任何更改。如果我错了,请指导:
objSheet1.Columns(11).NumberFormat = "0"
要将存储在单元格中的数字文本转换为数字,可以尝试以下操作:
Sub ConvertTextInCellToNumber(ByVal cellLocation As String)
Dim txt As String
txt = range(cellLocation).text
On Error GoTo Catch
Dim txtAsNumber As Double
txtAsNumber = txt
range(cellLocation).Value = txtAsNumber
Catch:
End Sub
这就是你想要的吗
Sub Sample()
Dim ws As Worksheet
Dim lRow As Long, i As Long
'~~> Change this to the relevant sheet name
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
'~~> Col B
.Columns(2).NumberFormat = "0.00"
'~~> Get the last row
lRow = .Range("B" & .Rows.Count).End(xlUp).Row
For i = 1 To lRow
.Range("B" & i).Formula = .Range("B" & i).Value
Next i
End With
End Sub
屏幕截图
请阅读我的第二个问题!我在列中有一些数字作为
文本
,但我想将它们转换为列级别本身的数字。假设我有数字456676
,334562
,但它们是text
格式,导致比较不匹配!请查看屏幕截图我们可以在列级别进行操作,而不是逐个单元格进行操作吗?请查看我的编辑,但在列级别没有任何更改。请帮帮我!请看我的描述,在那里你可以看到数字,上面有一个绿色的符号。现在,如果我单击该图标,它会让我有机会将文本更改为Number
。但我想做同样的动态。但是我怎么能这样做呢?是的,它正在运行,但是它的名称是58307132.00
——应该是58307132
。怎么做?提示;)请参见上面代码中的行.Columns(2).NumberFormat=“0.00”
。是的,我已经看到了,但是我是否应该仅将其更改为0
?