我希望将所有以文本形式存储在工作表中的数字自动转换为带有VBA的数字。 Excel似乎自动检测到这些数值,VBA中有一种方法可以转换所有这些数值?
我找到了以下将文本转换为数字的解决方案,但是我希望此方法适用于所有工作表而不是指定的范围,因为工作表是动态的。
Range("F:F").Select
With Selection
Selection.NumberFormat = "General"
.Value = .Value
End With
有人有主意吗?
答案 0 :(得分:1)
with activesheet.usedRange
.numberFormat = "General"
.value = .value
End with
答案 1 :(得分:1)
猜测问题出在不同的小数点分隔符中,这在德国和法国是一个很大的问题。如果是这种情况,这可行:
Option Explicit
Public Sub TestMe()
On Error GoTo TestMe_Error
Dim myCell As Range
Dim tryCell As String
For Each myCell In Cells.SpecialCells(xlCellTypeConstants)
tryCell = Replace(myCell, ",", ".")
If IsNumeric(tryCell) Then
myCell = Replace(myCell, ",", ".")
End If
Next myCell
On Error GoTo 0
Exit Sub
TestMe_Error:
MsgBox "No contant values!"
End Sub
代码检查ActiveSheet
中所有没有公式的单元格。然后,如果通过将,
更改为.
,该单元格将变为数字,它将对其进行更改。