Excel 读取公式输出

Excel 读取公式输出,excel,vba,Excel,Vba,VBA的新功能 我需要根据值取消隐藏/隐藏不同页面上的行。我遇到的问题是,该值是公式驱动的,不会被我的VBA代码接受。需要进行哪些更改才能读取公式值 如有任何指导或建议,将不胜感激 这就是触发宏的目的: 如果Target.Address(False,False)=“K20”和Target.Value=“Yes”,则 调用ShowxxxResults 其他的 如果结束 如果Target.Address(False,False)=“K20”和Target.Value=“No”,则 调用hidexxr

VBA的新功能

我需要根据值取消隐藏/隐藏不同页面上的行。我遇到的问题是,该值是公式驱动的,不会被我的VBA代码接受。需要进行哪些更改才能读取公式值

如有任何指导或建议,将不胜感激

这就是触发宏的目的:

如果Target.Address(False,False)=“K20”和Target.Value=“Yes”,则
调用ShowxxxResults
其他的
如果结束
如果Target.Address(False,False)=“K20”和Target.Value=“No”,则
调用hidexxresults
其他的
如果结束
以下是它们调用的宏:

Sub ShowxxxResults()
附页(“结果”)
表格(“结果”)。取消保护(“xxx”)
.Range(“A44”、“A45”).EntireRow.Hidden=False
表格(“结果”)。保护(“xxx”)
以
端接头
子HIDExxResults()
附页(“结果”)
表格(“结果”)。取消保护(“xxx”)
.Range(“A44”、“A45”).EntireRow.Hidden=True
表格(“结果”)。保护(“xxx”)
以
端接头

我用公式生成的K20尝试了代码,它对我很有效。我的建议是把它改成

If Target.Address(False, False) = "K20" Then
    If Target.Value = "Yes" Then
            ShowxxxResults
        ElseIf Target.Value = "No" Then
            HidexxxResults
    End If
End If

然后一步一步地看它在哪里坏了。将手表放在Target.Value上,看看表达式值是否确实是“Yes”或“No”

我使用了另一种方法,而不是尝试提取公式值,而是用VBA计算结果

If Range("K44") = "Yes" And Range("K46") = "Yes" And Range("K50") = "No" And Range("K52") = "No" And Range("K54") = "No" And Range("K56") = "No" And Range("K58") = "No" And Range("K60") = "No" And Range("K62") = "No" Or Range("K44") = "Yes" And Range("K48") = "Yes" And Range("K50") = "No" And Range("K52") = "No" And Range("K54") = "No" And Range("K56") = "No" And Range("K58") = "No" And Range("K60") = "No" And Range("K62") = "No" Then

        Call ShowEBAResult

      Else
End If

感谢所有帮助:)

该值是公式驱动的,不会被我的VBA代码拾取-与您的问题无关,但每次都是您的问题。@GSerg感谢您的建议。问题的关键是,当K20中的公式重新计算时,
工作表\u Change
中的此代码不会触发<代码>工作表\u更改
不会在公式计算时触发。