[英]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.