2016-07-20 54 views
1

在Excel工作簿中,我有sheet1和sheet2。根據另一張表格中的單元格隱藏一列中的列 - Excel VBA

Sheet1我有一個動態變化的單元格(單元格A1)。 In Sheet2我有一個單元格(B1)從Sheet1的單元格A1複製值。 論表2個細胞將隱藏當B1值是0

link image

下面是從Sheet 2中

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 

VBA代碼的事情是,當我在改變值Sheet1Sheet2什麼也沒有發生,我不知道爲什麼。

回答

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 

和做在Sheet-B1細胞的一些計算(比如= 0 + 0),如果結果是0,那麼它會隱藏列ë :我在Sheet2中。在Sheet1

+0

您正在檢查表1中的B1,但B1是在表2中 –

+0

根據Sheet1,Sheet2列中的計算結果得出的計算結果發生計算後,Sheet 1是默認值。 – vanathaiyan

0

使用的代碼隱藏在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

相關問題