13. april 2012 - 14:03Der er
3 kommentarer og 1 løsning
Skjule kolonner ud fra valg i listbox
Hej
Jeg har et stort regneark med rigtig mange kolonner, som skal skjules ud fra valgene i min userform1.
Jeg har oprettet 3 listbox's, hvor jeg har indlæst data ind fra mit Control-ark. Listboxene er alle med multiplechoise. PT. køre jeg det så jeg bare læser valgene ud af listboxene til controlarket, og derefter med en ny makro, der skjuler de kolonner i WCGW arket, som ikke er valgt, ud fra mine rækker jeg har overført til Control-arket. Det er en ret langsom process!!
Er der nogen der har en nemmere måde, så man kører det hele i en proces, altså allerede ud fra selections i listboxene?
Jeg har søgt hele dagen på nettet efter en løsning, men er ikke kommet frem til noget.
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
ARket indeholder desværre en masse følsomme data, så håber du kan hjælpen uden at få arket :( Alternativt hvis det er, kan jeg slette data mv.
Mit ark fungerer således:
Arket WCGW indeholder 60 kolonner, hvoraf listbox 2 skjuler kolonnerne fra I3 til AH3, hvis de ikke er valgt i listboxen. I3:AH3 indeholde navne på kolonnerne, og det er disse der er indlæst i Listboxen.
Nuværende løsning skjuler alle kolonnerne fra I3:AH3, og viser de kolonner der er valgt i listbox 2.
Const nulKolonne = 9 'kolonne I Dim ix As Integer Private Sub CommandButton1_Click() 'filtrer Dim p As Byte, kolonne As String Dim adresse As String, adr As Variant Application.ScreenUpdating = False
For ix = 0 To Me.ListBox2.ListCount - 1 adresse = Cells(1, ix + nulKolonne).Address adr = Split(adresse, "$") kolonne = adr(1) Rem Test om række i Listbox2 er markeret - hvis ikke skjul rækken If Me.ListBox2.Selected(ix) = False Then Columns(kolonne).EntireColumn.Hidden = True Else Rem Er række markeret - vis kolonne Columns(kolonne).EntireColumn.Hidden = False End If Next ix Application.ScreenUpdating = True End Sub Private Sub CommandButton2_Click() 'Vis alle For ix = 0 To Me.ListBox2.ListCount - 1 Me.ListBox2.Selected(ix) = True Next ix CommandButton1_Click End Sub
Synes godt om
Ny brugerNybegynder
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.