我有一个带数字的专栏。如果我将其设置为TEXT格式,而不是选择它,单击替换并用点替换逗号,它会很有效。我的数字得到DOTS而不是COMMAS。 (这就是我想要的,因为我没有使用他们的“数值”)。
如果我在执行此操作时录制宏,那就是生成的代码:
Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
如果我在相同的数据(包含COMMAS的原始数据)上运行此代码,则无效。为什么?
我的数据,以防万一:
1.3.11
4.5.2-714156
3.1.59
4.2.2
4,3
4,3
4,3
4,3
答案 0 :(得分:1)
我不一定确定你引用的代码为什么不起作用。但是,以下情况应该会给你我相信你想要得到的结果:
Dim Cell As Range
For Each Cell In Selection
Cell.Value = Replace(Cell.Value, ",", ".")
Next
答案 1 :(得分:0)
我真的无法解释为什么你的代码不起作用,我现在已经玩了几分钟而且我遇到了同样的问题(我在宏记录时工作,在我重新执行时不起作用宏)。
然而,这成功地做了你想要的事情:
last = Cells(Rows.Count, 2).End(xlUp).Row
For x = 1 To last
Cells(x, 2) = Replace(Cells(x, 2), ",", ".")
Next x
此代码: