在excel工作簿中我有sheet1和sheet2。
在 Sheet1 中,我有一个动态变化的单元格(单元格A1)。 在 Sheet2 中,我有一个单元格(B1),它复制Sheet1中单元格A1的值。 在工作表2 单元格将在B1中的值为0时隐藏。
以下是来自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 上没有任何反应,我不知道原因。
答案 0 :(得分:1)
使用表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 :(得分:0)
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