excel - VBA:将文本转换为数字

我有一列数字,无论出于何种原因,都被格式化为文本。这使我无法使用算术函数,例如小计函数。将这些“文本数字”转换为真数字的最佳方法是什么?

以下是具体问题的截图:

我尝试了这些片段无济于事:

Columns(5).NumberFormat = "0"

 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

最佳答案

使用以下函数(将 [E:E] 更改为您需要的适当范围)来规避此问题(或更改为任何其他格式,例如“mm/dd/yyyy”) :

[E:E].Select
With Selection
    .NumberFormat = "General"
    .Value = .Value
End With

附:根据我的经验,与使用“警告框”方法相比,此 VBA 解决方案在大型数据集上的运行速度要快得多,而且使 Excel 崩溃的可能性更小。

https://stackoverflow.com/questions/36771458/

相关文章:

c# - 格式化跟踪输出

python - !r 在 str() 和 repr() 中做了什么?

c# - string.Format 与 string.Join

formatting - Dart 中的货币格式

java - 清理大型遗留 Java 项目

c# - 如何在 c# 中生成像 "1st November"这样的日期格式

javascript - 在 JavaScript 源代码中自动插入分号的实用程序?

java - 内置字符串格式与字符串连接作为日志记录参数

python - 在 Python 中截断十进制值

html - 使 HTML 输出 R 中的粗体文本 Shiny