繁体   English   中英

基于另一张工作表中的单元格隐藏一张工作表中的列 - Excel VBA

[英]Hide columns in one sheet based on a cell from another sheet - Excel VBA

在 Excel 工作簿中,我有 sheet1 和 sheet2。

Sheet1 中,我有一个动态变化的单元格(单元格 A1)。 Sheet2 中,我有一个单元格 (B1),它从 Sheet1 复制单元格 A1 中的值。 当 B1 中的值为 0 时,工作表 2 上的单元格将隐藏。

链接图片

这是来自 sheet2 的 VBA 代码

Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("B1").Value = "0" Then
        Columns("E:I").EntireColumn.Hidden = True
    Else
        Columns("E:I").EntireColumn.Hidden = False
    End If

End Sub

问题是,当我更改Sheet1上的值时, Sheet2上没有任何反应,我不知道为什么。

使用表 1 中的以下代码计算事件,

Private Sub Worksheet_Calculate()
   If Range("B1").Value = "0" Then
      Sheet2.Columns("E:I").EntireColumn.Hidden = True
   Else
      Sheet2.Columns("E:I").EntireColumn.Hidden = False
   End If
End Sub

并在 sheet1-B1 单元格中进行一些计算(例如 =0+0),如果结果为 0,则它将隐藏 Sheet2 中的 E:I 列。

使用 sheet1 上的代码隐藏 sheet2 上的列

Private Sub Worksheet_Change(ByVal Target As Range)

    If Range("A1").Value = "0" Then
        Sheet2.Columns("E:I").EntireColumn.Hidden = True
    Else
        Sheet2.Columns("E:I").EntireColumn.Hidden = False
    End If

End Sub

工作得很好。 感谢您的提示 vanathaiyan

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM