![](/img/trans.png)
[英]Automatically Hide/Unhide Column's based on value in row that is formula transposed from another worksheet
[英]Hide/unhide a column based on a row value
如果從 B 列的下拉列表中選擇了“相機軸檢查”值,我需要取消隱藏 E 列。我已經通過各種 Google 搜索,這是我想出的代碼,我認為會符合我的要求:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Columns("E:E").EntireColumn.Hidden = [B7:B999] = "Camera AXIS check"
End Sub
但是,每當我嘗試檢查它時,它都不喜歡第 3 行。
有人可以告訴我 go 哪里錯了嗎?
為了提供有關該任務的更多詳細信息,B 列具有第 7 行的這些選擇,並且可以將它們設置為無限數量的行,而 E 列僅適合顯示,只要 B 列中的選擇等於“相機軸檢查” ”。
這是完成您需要的適當 VBA 宏:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Camera AXIS check" And Target.Column = 2 Then
Columns("E").EntireColumn.Hidden = True
Else
Columns("E").EntireColumn.Hidden = False
End If
End Sub
如果我正確理解評論,如果“相機軸檢查”在“B”列中的任何位置,該列應該保持不隱藏。 下面的 sub 與上面的相同,但也測試您要查找的值是否在列中的任何位置,如果是,則不重新隱藏列。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Camera AXIS check" And Target.Column = 2 Then
Columns("E").EntireColumn.Hidden = False
Else
If IsError(Application.Match("Camera AXIS check", Range("B:B"), 0)) Then
Columns("E").EntireColumn.Hidden = True
End If
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.