[英]Hide/Unhide rows based on another cell value
我正在嘗試根據單元格值隱藏/取消隱藏單元格。 當工作表(“創建”)的單元格值等於“RCDO”時,它將隱藏工作表(“表格”)上的行22:35並取消隱藏行36:49,當值不等於“RCDO”時,則取消隱藏行22:35並隱藏行 36:49。 代碼不會自動運行,這意味着我必須單擊行的單元格才能運行,而不是在更改單元格值后立即運行代碼。
Private Sub HideRow1()
Application.ScreenUpdating = False
If Sheets("Create").Range("C4").Value = "RCDO" Then
Rows("22:35").EntireRow.Hidden = True
Rows("36:49").EntireRow.Hidden = False
ElseIf Sheets("Create").Range("C4").Value <> "RCDO" Then
Rows("36:49").EntireRow.Hidden = True
Rows("22:35").EntireRow.Hidden = False
Application.ScreenUpdating = True
End If
End Sub
在工作sheet("create")
寫入以下代碼sheet("create")
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Me.Range("C4").Address Then Call HideRow1
End Sub
Private Sub HideRow1()
Application.ScreenUpdating = False
If UCase(Me.Range("C4").Value) = "RCDO" Then
Me.Rows("22:35").EntireRow.Hidden = True
Me.Rows("36:49").EntireRow.Hidden = False
Else
Me.Rows("36:49").EntireRow.Hidden = True
Me.Rows("22:35").EntireRow.Hidden = False
End If
Application.ScreenUpdating = True
End Sub
將此代碼放入名為“創建”(不在模塊中)的工作表中,以便它根據您更改值的事件工作:
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
'Check sheet'name and activeCell = C4
If ActiveSheet.Name <> "Create" Or Target.Address(0, 0) <> "C4" Then Exit Sub
ToogleHidden ([C4].Value = "RCDO")
End Sub
Private Sub ToogleHidden(boo As Boolean)
Application.ScreenUpdating = False
Worksheets("Form").Rows("22:35").EntireRow.Hidden = boo
Worksheets("Form").Rows("36:49").EntireRow.Hidden = Not (boo)
Application.ScreenUpdating = True
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.