Skjul/Vis rækker hvis - VBA
Jeg har tidligere anvendt nedenstående kode for at vise eller skjule rækker jeg ikke har brug for.Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("F28:G28")) Is Nothing Then Exit Sub
If [F28] = "" Or [G28] = "" Then
ActiveSheet.Unprotect Password:="perhol"
Rows("29:56").Select
Selection.EntireRow.Hidden = True
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="perhol"
End If
If [F28] <> "" Or [G28] <> "" Then
ActiveSheet.Unprotect Password:="perhol"
Rows("29:56").Select
Selection.EntireRow.Hidden = False
Range("A31").Select
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="perhol"
End If
End Sub
Den virker perfekt.
Men nu har jeg sommetider brug for endnu flere rækker og ville så kopiere koden sådan her:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("F54:G54")) Is Nothing Then Exit Sub
If [F54] = "" Or [G54] = "" Then
ActiveSheet.Unprotect Password:="perhol"
Rows("55:80").Select
Selection.EntireRow.Hidden = True
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="perhol"
End If
If [F54] <> "" Or [G54] <> "" Then
ActiveSheet.Unprotect Password:="perhol"
Rows("55:80").Select
Selection.EntireRow.Hidden = False
Range("A57").Select
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveSheet.Protect Password:="perhol"
End If
End Sub
Det virker ikke, sikkert fordi jeg har 2 Worksheet_Change procedurer på samme side.
Altså, hvordan gør jeg det sådan at hvis
Celle F28 eller celle G28 er tom, så skjules rækkerne 29 til 56
Og hvis
Celle F28 eller celle G28 er forskellig fra tom, så vises rækkerne 29 til 56
Og derefter sådan at hvis
Celle F54 eller celle G54 er tom, så skjules rækkerne 55 til 80
Og hvis
Celle F54 eller celle G54 er forskellig fra tom, så vises rækkerne 55 til 80
