10. august 2010 - 19:03Der er
10 kommentarer og 1 løsning
Skjule ark ud fra Userform + brugerark
Hej Alle
Jeg har lidt problemer, med at få lavet et ordentligt stykke kode, som skjuler ark ved at trykke på en knap, samt som tilvalg at kunne vælge yderligere ark, som skjules eller vises.
Jeg har en workbook med ca. 30 ark. Mit ark til at styre hvilke ark som skal vises, kører i arket (menu). Kolonne A indeholder arknavne, og kolonne m angiver med enten 0 eller 1, om arket skal vises.
Jeg kan sagtens få koden til at virke, hvis jeg laver slaviske koder for hver linie ( ikke helt så god til VBA ), men umiddelbart må der være en nemmere måde, samt en måde hvorpå man også kan lave tilvalg, i en liste eks. i min userform3.
Jeg er heller ikke den store programmør, men har lige prøvet følgende kode:
For Each c In Range("M1:M30") 'tilpas blot området til de rækker der er relevante If c.Value = 0 Then Sheets(c.Offset(1, -12).Value).Visible = False 'Vigtigt at teksten i kolonne A stemmer overens med arknavnene Else: Sheets(c.Offset(1, -12).Value).Visible = True End If Next
Af en eller anden årsag virker koden, men den melder alligevel fejl. Jeg kan prøve at kigge på den igen i morgen når jeg er lidt friskere, men den kan måske hjælpe dig på sporet.
Hvis du gerne vil lave noget i userform, kan jeg måske hjælpe, men jeg forstår ikke helt hvordan du vil bygge det op.
Du manuelt taster 0 eller 1 i kolonne M, hvorefter du klikker på en knap og de ark(navne) fra de respektive rækker i kolonne A, som har et 1´tal i kolonne M vises og dem med 0 skjules ???
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp)) 'området er nu dynamisk og tilpasses antallet af linjer der er skrevet i. Sheets(c.Value).Visible = (c.Offset(, 12) = 1) Next c
Mht. userformen, har jeg bare lavet en, hvor jeg kan krydse af, hvilke ark jeg vil se, hvis de er skjulte, dvs. den tester blot på om der står 1 eller 0 i menu arket.
Jeg har en stor model (revision / kvalitetsstyring ) hvor jeg i stamarket, bestemmer om der skal laves revision eller review osv. Vælges revision, så sætter den selv 1/0-taller i menu arket, ud for de respektive ark.
Men koden skal blot / når der trykkes på en knap, skjule de inaktive ark, hvor der står 0 i kolonne M:)
Det er fordi noget af den tekst du har i kolonne A ikke stemmer overens med arkenes navne. Hvis der er den mindste forskel kan den ikke finde ud af det.
Vær opmærksom på at makroen gennemgår hele kolonnen. Hvis den ikke skal det skal der defineres et range.
Du er velkommen til at sende det - eller en mockup - til mig.
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.