使用 vba 删除单元格中的公式

使用 vba 删除单元格中的公式

我已经制作了两个 vba 代码。

  1. 用于对选定单元格进行四舍五入。工作正常

  2. 用于撤消对选定单元格的舍入。这有点问题。我这样做之后,单元格的 isformula 为真。但我不想制作常量数值的公式。例如,您看到单元格 A1 中有 = 符号,它使 isformula 为真,但我不想在这里放等号。在单元格 A3 中我有另一个公式,所以我想要 = 符号。我应该在 vba 代码中更改什么?查看我上传的图片。谢谢 图片 1 图片 2

答案1

在代码行后添加以下内容h = Replace(g, ",2)", "")

    If IsNumeric(Mid(h, 2, 1)) Then
        h = Replace(h, "=", "")
    End If

它检查 后面的字符是否=为数字。如果是,则=删除 。您的代码将是:

Sub UndoRoundOff()

    Dim x As Range

    For Each x In Selection
        f = x.Formula
        g = Replace(f, "=ROUND(", "=")
        h = Replace(g, ",2)", "")
    
        If IsNumeric(Mid(h, 2, 1)) Then
            h = Replace(h, "=", "")
        End If
    
        x.Formula = h

    Next x

End Sub

相关内容