我正在使用一个工作簿,它使用一个奇怪的空格作为千位分隔符。 Excel 将包含此分隔符的数字视为文本。当我使用查找和替换工具删除此分隔符时,数字会被正确识别为数字。当我使用 VBA 使用 Cells.Replace 方法执行相同操作时,数字将继续存储为文本。然后,包含这些数字的单元格上会出现一个绿色角,允许我将它们转换为数字格式,但此选项似乎无法在 VBA 中利用,因为宏记录器不会记录此操作。
我可以将工作表的单元格复制到数组中,然后循环遍历值以替换千位分隔符,然后将数组粘贴回工作表。我的问题是:是否有更有效的方法来删除这些千位分隔符,以便我的数字被视为数字?
您是指单元格 B3 和 B5 中 9 和 5 之间的空格吗?如果是,那么仅仅删除空格并不能解决问题。您还需要删除逗号以将其转换为数字,然后使用正确的千位分隔符对其进行格式化。请参阅此代码和快照
SNAPSHOT
CODE
Sub Sample()
With Sheets("Feuil1").Columns(2)
.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.NumberFormat = "#,##0"
End With
End Sub
HTH
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)