当撇号 (') 字符是单元格中的第一个字符时,如何在 Excel 中搜索和替换它?
具体来说,我希望能够搜索并替换=
公式中的符号'@
,然后将其=
恢复为原始公式。
答案1
这里有一对宏可以为您提供所需的功能:
Sub RemoveFormulas()
For Each r In ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeFormulas)
r.Value = Replace(r.Formula, "=", "'@")
Next r
End Sub
Sub RestoreFormulas()
Dim r As Range
For Each r In ActiveSheet.UsedRange.Cells.SpecialCells(xlCellTypeConstants)
If r.PrefixCharacter = "'" Then
r.Formula = Replace(r.Value, "'@", "=")
End If
Next r
End Sub
答案2
非常奇怪的是,您选择了一个在 Excel 中用于“转义”单元格的字符。不过,我仔细研究了一下,找到了解决方法,具体取决于文件的大小。
如果您将表格导出到“文本(制表符分隔)”文件,然后在将 = 符号修改为 '@ 后重新导入,则应将字符重新导入为实际的单引号,而不是转义字符。然后您应该能够运行搜索并将 '@ 替换为 =。
再次,这可能只会在您没有处理巨大的 Excel 文件(尤其是没有图表和图形等)的情况下才有效。