[英]Hide/Unhide rows based on another cell value
I am trying to hide/unhide cells based on a cell value.我正在尝试根据单元格值隐藏/取消隐藏单元格。 When the cell value of sheet("create") equals "RCDO" it will hide rows 22:35 and unhide rows 36:49 on sheet("Form"), when value does not equal "RCDO" then unhide rows 22:35 and hide rows 36:49.
当工作表(“创建”)的单元格值等于“RCDO”时,它将隐藏工作表(“表格”)上的行22:35并取消隐藏行36:49,当值不等于“RCDO”时,则取消隐藏行22:35并隐藏行 36:49。 The code does not work automatically, meaning I would have to click on the cells of the rows for it to run, versus the codes running as soon as I change the value of the cell.
代码不会自动运行,这意味着我必须单击行的单元格才能运行,而不是在更改单元格值后立即运行代码。
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
Write below code in sheet("create")
在工作
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
put this code into a sheet called "Create" (not in module) so it works based on the event you changed the value:将此代码放入名为“创建”(不在模块中)的工作表中,以便它根据您更改值的事件工作:
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.