Avatar billede JNC Seniormester
12. januar 2015 - 16:39 Der er 3 kommentarer og
1 løsning

VBA til ny knap der Skjuler linier

Hej
Jeg har været på VBA kursus, syndes dog det var lidt tyndt, jeg føler stadig ikke jeg fik knækket koden.

Jeg har et regneark med mange faner, der efter gennemarbejde, skal rettes til, så de kolonner der ikke vedkommer andre er skjult, til udskrift.
det er kolonne L:R + W:X + Z:AE + AI:AJ + AP:AU + BC:BG
Jeg skal bruge en makro der skal på en knap på vær fane.

Jeg har prøvet bare at indspille det, men syndes bare der går ged i det ?
Avatar billede natkatten Mester
12. januar 2015 - 17:24 #1
Den meget hurtige udgave, der f.eks. ikke tjekker for, om et ark er låst:

Sub SkjulKolonner()
        ActiveSheet.Columns("L:R").EntireColumn.Hidden = True
        ActiveSheet.Columns("W:X").EntireColumn.Hidden = True
        ActiveSheet.Columns("Z:AE").EntireColumn.Hidden = True
        ActiveSheet.Columns("AI:AJ").EntireColumn.Hidden = True
        ActiveSheet.Columns("AP:AU").EntireColumn.Hidden = True
        ActiveSheet.Columns("BC:BG").EntireColumn.Hidden = True
End Sub

Sættes ind i et modul, således at den kan anvendes på alle ark. Du kan så kalde den fra dine knapper.
Denne viser kolonnerne igen:

Sub VisKolonner()
        ActiveSheet.Columns("A:IV").EntireColumn.Hidden = False
End Sub

Jeg har sat den sidste kolonne til IV fordi dette er grænsen i Excel 2003 (nr. 256). Men denne kan naturligvis ændres til enten din sidste BG eller til grænsen i Excel 2007 eller senere, XFD.
Avatar billede JNC Seniormester
13. januar 2015 - 10:01 #2
Hej Natkatten

Du får de lovede point.
Jeg kan jo se den virker, men du har ret i det er et problem den ikke virker når arket er beskyttet!


Jeg ved godt det ikke var en del af spørgsmålet, men kan du tilføje det i koden :)
Avatar billede natkatten Mester
13. januar 2015 - 11:32 #3
Du styrer dette vha. hhv. ActiveSheet.Unprotect og ActiveSheet.Protect. F.eks. a la dette:

Sub SkjulKolonner()

Application.ScreenUpdating = False
ActiveSheet.Unprotect
        ActiveSheet.Columns("L:R").EntireColumn.Hidden = True
        ActiveSheet.Columns("W:X").EntireColumn.Hidden = True
        ActiveSheet.Columns("Z:AE").EntireColumn.Hidden = True
        ActiveSheet.Columns("AI:AJ").EntireColumn.Hidden = True
        ActiveSheet.Columns("AP:AU").EntireColumn.Hidden = True
        ActiveSheet.Columns("BC:BG").EntireColumn.Hidden = True
ActiveSheet.Protect
Application.ScreenUpdating = True

End Sub
Avatar billede JNC Seniormester
13. januar 2015 - 11:35 #4
Tak NatKat
dagens mand i skysovs :)
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

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