首页 > 解决方案 > 用逗号替换点,用点替换逗号

问题描述

我正在尝试用逗号替换点,用点替换逗号。数据并不总是相同的长度。我为代码创建了一个按钮(表单控件)。

我尝试编写用逗号替换点的代码。该代码适用于用逗号替换点。但是 Excel 卡住了。如何添加部分以用点替换逗号?

Sub ReplacePointWithComma()

Dim Cell As Range

ActiveSheet.Range("D:I").Select

For Each Cell In Selection
    Cell.Value = Replace(Cell.Value, ",", ".")
Next

End Sub

标签: excelvba

解决方案


Replace就像您使用的那样,是VBA的VBA.Strings.Replace功能。这行得通,但正如您所见,当迭代 600 万个单独的单元格时,需要一段时间。

考虑Range.Replace改用,正如斯科特在上面的评论中所展示的那样——这样你就不需要迭代任何东西;这应该快得多:

With ActiveSheet.Range("D:I")
    .Replace ",", "|" ' need a temp placeholder character, otherwise we'd end up with only commas!
    .Replace ".", ","
    .Replace "|", "."
End With

推荐阅读