Hjælp til tilpasning af vis/skjul makro
Hej eksperterJeg har en stump kode som ved hjælp af en VBA knap går ind og skjuler samtlige øvrige kolonner inden for et angivet interval. Samtidig går koden ind og skjuler linjer hvori der intet er indtastet.
Her er koden gældende for de 3 første kolonner hvori den benyttes:
Private Sub CommandButton1_Click()
If Range("H1:AM1").EntireColumn.Hidden = True Then _
Range("G1:AM1").EntireColumn.Hidden = False Else Range("G1:AM1").EntireColumn.Hidden = True
Range("F1").Columns.EntireColumn.Hidden = False
rk = Cells(1000, "F").End(xlUp).Row
Range("F4:F" & rk).EntireRow.Hidden = False
If Columns("G").EntireColumn.Hidden = True Then
Range("F4:F" & rk).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End Sub
Private Sub CommandButton2_Click()
If Range("F1,H1:AM1").EntireColumn.Hidden = True Then _
Range("F1:AM1").EntireColumn.Hidden = False Else Range("F1:AM1").EntireColumn.Hidden = True
Range("G1").Columns.EntireColumn.Hidden = False
rk = Cells(1000, "G").End(xlUp).Row
Range("G4:G" & rk).EntireRow.Hidden = False
If Columns("H").EntireColumn.Hidden = True Then
Range("G4:G" & rk).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End Sub
Private Sub CommandButton3_Click()
If Range("F1:G1,I1:AM1").EntireColumn.Hidden = True Then _
Range("F1:AM1").EntireColumn.Hidden = False Else Range("F1:AM1").EntireColumn.Hidden = True
Range("H1").Columns.EntireColumn.Hidden = False
rk = Cells(1000, "H").End(xlUp).Row
Range("H4:H" & rk).EntireRow.Hidden = False
If Columns("I").EntireColumn.Hidden = True Then
Range("H4:H" & rk).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
End Sub
Som det fremgår er der her tale om en en lang række manuelle angivelser f.eks.
- "hvilken kolonne befinder vi os i"
- "hvor mange kolonner er der i alt"
- "hvilke kolonner skal skjules (dem før og dem efter den vi befinder os i)".
Resultatet heraf bliver naturligvis at det er uhyre svært at indsætte nye kolonner med samme funktion i det koden for hver eneste kolonne da skal tilpasses.
Er der en simpel mulighed for at tilpasse koden så den selv tager højde for hvor stort intervallet er, samt hvilke kolonner der kommer før/efter (altså hvilke der skal skjules).
Grunden til at der skal angives en "slutkolonne", er at der er en sumkolonne yderst til højre.