6

我必须在 Excel 文件中用另一个字符替换一个字符。

我使用了以下Replace功能,但由于某些单元格中超过 1024 个字符的限制,它停在那里。

Sub Replace()

    With Sheets("Sheet1").Range("A1:A629")   

      .Cells.Replace ",", ";", xlPart, xlByRows, False

    End With

End Sub 

我知道Substitute函数会做

Cells(1, 2) = "=SUBSTITUTE(A1,"","","";"")"

但是我如何将它用于单元格范围?

4

2 回答 2

8

尝试这个。请注意,它使用 VBAReplace函数,因此您需要重命名“替换”子例程。

Sub ReplaceText()

    For Each c In Sheets("Sheet1").Range("A1:A629").Cells

      c = Replace(c.Value, ",", ";")

    Next c

End Sub

注意:这只有在单元格中有值,没有公式时才有效。因为 Excel 的公式长度限制为 1024 个字符。但鉴于您有此特定错误,您的单元格不能是公式。

于 2013-07-10T02:45:46.090 回答
8

尝试这个

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

在此处输入图像描述

于 2013-07-10T03:04:00.613 回答