excel VBA查找和替换保持以“$”开头的单元格内容格式的更改

ogq8wdun  于 2023-01-31  发布在  其他
关注(0)|答案(2)|浏览(135)

下面的代码从A2中获取以“$”开头的值,并用一个输入框替换工作表中的所有值。
唯一的问题是在查找和替换之后,它将单元格A2更改为货币格式,因为它以$开头并删除了$。有什么方法可以避免这种情况吗?

Private Sub CommandButton1_Click()
Dim strInput As String

strInput = InputBox("Enter replacement value", Default:="$")
If strInput <> "" Then
Range("A2").Select
    Cells.Replace What:=Range("A2"), Replacement:=strInput, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
        FormulaVersion:=xlReplaceFormula2
End If
End Sub
ccgok5k5

ccgok5k51#

试试用撇号:

Private Sub CommandButton1_Click()
Dim strInput As String

strInput = InputBox("Enter replacement value", Default:="'$")
If strInput <> "" Then
    Cells.Replace What:=Range("A2"), Replacement:=strInput, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False, _
        FormulaVersion:=xlReplaceFormula2
End If
End Sub

此外,也不需要Range("A2").Select

lf5gs5x2

lf5gs5x22#

在单元格值中添加撇号“'”不会影响查找和替换值,并且格式保持不变。谢谢@卡梅隆Critchlow
https://www.mrexcel.com/board/threads/vba-code-for-find-and-replace-keeps-changing-format.1119356/

相关问题