excel vba 计算代码不计算合并单元格中的某些公式

excel vba calculate code doesn't calculate some of the formulas in merged cells

我在不同的 sheet 中使用以下公式计算公式:

Sub Calculate_Formulas_otherSheets()
Dim Sheet As Worksheet
For Each Sheet In ActiveWorkbook.Sheets
    If Sheet.Name Like "*" & strSearch & "_A" Then
         Sheets(Sheet.Name).Calculate
    End If
Next
For Each Sheet In ActiveWorkbook.Sheets
    If Sheet.Name Like "*" & strSearch & "_B" Then
         Sheets(Sheet.Name).Calculate
    End If
Next

End Sub


在这些 sheet 中,其中三个公式位于合并的单元格中。
AY3

中的公式1
=RIGHT(CELL("filename");LEN(CELL("filename"))-FIND("]";CELL("filename")))


AZ3

中的公式2
=IFERROR(RIGHT(LEFT($AY3;FIND("_";$AY3)-4);2);"")


BA3

中的公式3
=IFERROR(RIGHT(LEFT($AY3;FIND("_";$AY3)-3);1);"")


如果我手动计算它们,一切都会完美无缺。但是当我通过上面的代码进行操作时,它们不会被计算; sheet 中的其他公式确实得到了计算,除了这三个。
出了什么问题?
顺便说一下,自动计算是关闭的。
更新
实际上它以错误的方式更新:文件名公式获取 sheet 的 sheet 名称,其中此 vba 代码被保存为宏按钮。如何解决?

作为documentedCELL函数的第二个参数,reference,控制你想要的信息的单元格,并且:

If omitted, the information ... is returned for the last cell that was changed.

您省略了第二个参数,显然最后更改的单元格恰好位于错误的工作簿中。

在第二个参数中提供正确的单元格。