簡體   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