【发布时间】:2017-08-29 17:35:39
【问题描述】:
假设我在 Excel 中有一个“sheet1”和“sheet2”。如果“sheet2”可见,我希望“sheet1”的单元格 A1 显示 TRUE,如果“sheet2”隐藏,则显示 FALSE。
我知道这可以通过 VBA 轻松完成,但我想知道是否可以使用工作表公式来做到这一点?
【问题讨论】:
标签: excel
假设我在 Excel 中有一个“sheet1”和“sheet2”。如果“sheet2”可见,我希望“sheet1”的单元格 A1 显示 TRUE,如果“sheet2”隐藏,则显示 FALSE。
我知道这可以通过 VBA 轻松完成,但我想知道是否可以使用工作表公式来做到这一点?
【问题讨论】:
标签: excel
您可以使用 UserDefined Function,仍然是 VBA,但您可以调用公式进行检查,
打开您的工作簿。 按 alt-f11 进入 VBE(宏/UDF 所在的位置) 点击 ctrl-R 查看项目资源管理器 找到你的工作簿。 应该看起来像:VBAProject (yourfilename.xls)
右击项目名称 插入,然后是模块 您应该会看到右侧弹出代码窗口
Option Explicit
Function IsSheetVisible(rng As Range) As Variant
Application.Volatile
IsSheetVisible = CBool(rng.Parent.Visible = xlSheetVisible)
End Function
现在回到 Excel。 进入测试单元并输入:
=if(issheetvisible('sheet2'!a1),TRUE,FALSE)
(您可以使用该工作表上的任何单元格来检查可见性。)
【讨论】: