我有一张excel表,里面有1,373,760个使用过的单元格,每个单元格里面都有一个独特的公式。但每个单元格都指的是需要更改的文件路径。搜索和替换花费了大量时间,并且经常在某些地方失败。有没有一种有效的方法来替换这些细胞?
示例公式:' \ root \ folder \ subfolder \ another_folder [workbook_name] worksheet_name' cellNumber
工作簿,工作表,单元格编号是唯一的。只有路径是不变的。
我尝试通过存储路径和工作表名称来引用其他单元格,但它没有那样工作: Reference another workbook with dynamic worksheet name
所有这些细胞都使用VBA填充,大约需要15个小时。因此,任何有效的创建新工作簿的方法也是值得赞赏的。
提前致谢!!
答案 0 :(得分:2)
这样的事情,取决于你究竟在寻找什么:
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
UsedRange
的{{1}}中的每个单元格,如果它是公式,它会检查它是否包含ActiveSheet
。 答案 1 :(得分:1)
从我的拙见中搜索和替换是您最快的解决方案,通过VBA或手动禁用计算。替换完成后启用自动计算。
启用和禁用自动计算的VBA代码:
Sub Disbale_Automatic_Calc()
Application.Calculation = xlCalculationManual
End Sub
Sub Enable_Automatic_Calc()
Application.Calculation = xlCalculationAutomatic
End Sub