SMP*_*MPH 4 excel vba excel-vba
我必须在excel文件中用另一个字符替换一个字符.
我使用了以下replace功能,但由于某些单元格中超过1024个字符限制,它会停在那里.
Sub Replace()
With Sheets("Sheet1").Range("A1:A629")
.Cells.Replace ",", ";", xlPart, xlByRows, False
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
我知道Substitute功能会怎么做
Cells(1, 2) = "=SUBSTITUTE(A1,"","","";"")"
Run Code Online (Sandbox Code Playgroud)
但是我如何将其用于细胞范围.
谢谢
试试这个
Sub Replace()
Dim rng As Range, cell As Range
Set rng = Sheets("Sheet1").Range("A1:A629")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, ",", ";")
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

尝试这个。请注意,它使用了VBA Replace功能,因此您需要重命名“替换”子例程。
Sub ReplaceText()
For Each c In Sheets("Sheet1").Range("A1:A629").Cells
c = Replace(c.Value, ",", ";")
Next c
End Sub
Run Code Online (Sandbox Code Playgroud)
注意:仅当您在单元格中有值而不是公式时,这才起作用。因为Excel的公式长度限制为1024个字符。但是,鉴于您有此特定错误,您的单元格一定不能是公式。