首页 文章

根据另一个工作表中的单元格隐藏一个工作表中的列 - Excel VBA

提问于
浏览
1

在excel工作簿里面我有sheet1和sheet2 .

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

link image

这是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 上没有任何反应,我不知道为什么 .

2 回答

  • 0

    在表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 .

  • 1

    在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

相关问题