在 Excel 中搜索并替换前导撇号

在 Excel 中搜索并替换前导撇号

当撇号 (') 字符是单元格中的第一个字符时,如何在 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 文件(尤其是没有图表和图形等)的情况下才有效。

相关内容