Excel VBA案例无法识别单元格的值

时间:2014-04-18 20:52:50

标签: excel vba excel-vba if-statement

我尝试使用VBA在名为Invoice

的同一工作簿中的单独工作表上隐藏/显示一组行

为此,在InputForm工作表上,有一个单元格(N14)使用=ISBLANK(D53)检查D53是否包含任何内容并显然返回{{1} }}

从此尝试在VBA中运行If语句,根据单元格TRUE/FALSE是否包含N14来隐藏/显示行

如果手动输入TRUE / FALSE,我试过的代码可以正常工作,但如果公式自动输入则不能。

TRUE/FALSE

Cell N14的格式为“Text”

1 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,当公式结果发生变化时,Worksheet_Change不会触发。仅当您更改单元格本身的时才会触发它。您应该查看Worksheet_Calculate事件:

Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    Sheets("Invoice").Rows("57:123").Hidden = Range("N14").Value
    Application.EnableEvents = True
End Sub