gpt4 book ai didi

excel - 使用 VBA 中的 Replace 方法将数字存储为字符串

转载 作者:行者123 更新时间:2023-12-02 21:35:19 26 4
gpt4 key购买 nike

我正在使用一个工作簿,它使用一个奇怪的空格作为千​​位分隔符。 Excel 将包含此分隔符的数字视为文本。当我使用查找和替换工具删除此分隔符时,数字会被正确识别为数字。当我使用 VBA 使用 Cells.Replace 方法执行相同操作时,数字将继续存储为文本。然后,包含这些数字的单元格上会出现一个绿色角,允许我将它们转换为数字格式,但此选项似乎无法在 VBA 中利用,因为宏记录器不会记录此操作。

我可以将工作表的单元格复制到数组中,然后循环遍历值以替换千位分隔符,然后将数组粘贴回工作表。我的问题是:是否有更有效的方法来删除这些千位分隔符,以便我的数字被视为数字?

最佳答案

您是指单元格 B3 和 B5 中 9 和 5 之间的空格吗?如果是,那么仅仅删除空格并不能解决问题。您还需要删除逗号以将其转换为数字,然后使用正确的千位分隔符对其进行格式化。请参阅此代码和快照

快照

enter image description here

代码

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

关于excel - 使用 VBA 中的 Replace 方法将数字存储为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10075968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com