VBA 从 Excel 中删除公式符号

Posted

技术标签:

【中文标题】VBA 从 Excel 中删除公式符号【英文标题】:VBA delete Formula Sign from Excel 【发布时间】:2018-05-10 14:20:47 【问题描述】:

我正在工作中进行验证,并且已经做了很多工作,但现在我遇到了一个问题。我需要删除 ' 符号以清除不需要的 Excel 公式。我尝试使用替换,但它没有删除 '.有谁知道如何从单元格中删除它?

【问题讨论】:

我不明白。您想清除所有公式,包括那些用 ' 掩蔽的公式,还是只想从公式中删除撇号以使其正常工作? 抱歉,不清楚。问题是我有例如“姓氏”字段,人们有时会在里面写他们的名字,比如'Ben或+Ben,这会在他们的验证中粉碎其余的公式,我想在实际值之前清除这些标志,这样就只剩下本了 您能否举例说明下一个中断的公式是什么,因为您可以编辑该公式以在找到这些字符时忽略它们中的任何一个,或者,这可以通过以下方式实现vba 通过查看值,如果它包含这样的字符,要么忽略它,要么删除它...... 当然很抱歉,它们很长而且是德语! 您可以在即时窗口?Selection.Formula 中轻松地将任何语言的公式翻译成英文。而且,afaik,您不能从 Excel 中的文本开头删除撇号 【参考方案1】:

撇号保持隐藏,不作为值的一部分,因此您无法通过值或文本或公式属性检查它。您需要检查的是 PrefixCharacter。唉,那是只读的。 解决这个问题的唯一方法:清除单元格并重新设置它。 您应该能够实现的简短示例:

Dim txt As String, r As Range

Set r = Cells(2, 1)  'contains apostrophe

If r.PrefixCharacter = "'" Then
    txt = r.Value
    r.Clear
    r.Value = txt
End If

将它放在适合您的单元格内容的循环中,您应该设置好。

【讨论】:

以上是关于VBA 从 Excel 中删除公式符号的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA 删除公式并另存为 v2

Excel VBA - 保留指定列并删除所有其他列

使用 VBA 将 Excel 公式写入单元格

使用 VBA 从 Access 运行后从任务管理器中删除 Excel 任务

如何使用 vba 从具有多个数据字段的 excel 数据透视表中删除小计

通过 VBA 将查询从 Access 导入 Excel 并删除单个单元格