是否有任何解决方法来替换工作表中许多单元格中的公式

Is there any workaround to replace formulae in many cells in a worksheet

我有一个 excel sheet 有 1,373,760 个使用过的单元格,每个单元格都有一个以自己的方式独特的公式。但是每个单元格都指向一个需要更改的文件路径。搜索和替换需要花费大量时间,并且经常在某些地方失败。有没有一种有效的方法来更换这些电池?

示例公式:'\root\folder\subfolder\another_folder[workbook_name]worksheet_name'cellNumber

工作簿、工作sheet、单元格编号是唯一的。只有路径是不变的。

我尝试通过存储路径和 sheet 名称来引用其他单元格,但它不是这样工作的: Reference another workbook with dynamic worksheet name

所有这些单元格都是使用 VBA 填充的,这需要大约 15 个小时。因此,也欢迎任何创建新工作簿的有效方法。

提前致谢!!

根据我的拙见搜索和替换是最快的解决方案,通过 VBA 或手动禁用计算。替换完成后启用自动计算。

VBA 启用和禁用自动计算的代码:

Sub Disbale_Automatic_Calc()
Application.Calculation = xlCalculationManual
End Sub

Sub Enable_Automatic_Calc()
Application.Calculation = xlCalculationAutomatic
End Sub

类似这样的内容,具体取决于您要查找的内容:

Public Sub TestMe()

    Dim myCell  As Range

    For Each myCell In ActiveSheet.UsedRange
        If myCell.HasFormula Then
            If InStr(1, myCell, "\root\folder\subfolder\another_folder") Then
                myCell.Formula = "=root\folder\subfolder\another_folder" + something
            End If
        End If
    Next myCell

End Sub
  • 在这里关闭自动计算是个好主意。
  • 代码遍历 ActiveSheetUsedRange 中的每个单元格,如果它是一个公式,它会检查它是否包含 '\root\folder\subfolder\another_folder
  • 如果是这种情况,将生成一个新公式。