Avatar billede msl- Nybegynder
18. oktober 2010 - 15:53 Der er 1 kommentar

Hjælp til tilpasning af vis/skjul makro

Hej eksperter

Jeg 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.
Avatar billede supertekst Ekspert
18. oktober 2010 - 16:58 #1
Skulle nok være muligt.

Kunne du sende arket eller et uddrag heraf / model - så ville det være lettere at få overblik over "situationen".

@-adresse under min profil.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester