Avatar billede Silfver Nybegynder
21. februar 2012 - 08:52 Der er 7 kommentarer

Skjule rullemenu

Jeg har en udfordring!

Jeg arbejder i et regneark (Excel 2007) og vil gerne have skjult rækker OG rullemenuer, når der klikkes på en Togglebutton.

Jeg har brugt koderne:

Private Sub ToggleButton1_Click()

If Range("g3") = FALSK Then

Rows("4:31").EntireRow.Hidden = False
Else
Rows("4:31").EntireRow.Hidden = True
 
End If

End Sub

Det skjuler rækkerne.

Men hvad så med rullemenuerne, som er tager fra udvalget af ´kontrolelementer´?

Denne kode virker bare ikke:

Private Sub Worksheet_Change(ByVal Target As Range)


If Range("G3") = FALSK Then

Rullemenu1.Visible = False

Else

Rullemenu1.Visible = True

End If


HJÆÆÆLP :-)
Avatar billede supertekst Ekspert
21. februar 2012 - 09:00 #1
Prøv:

    For Each sh In ActiveWorkbook.Sheets(1).Shapes
        If InStr(LCase(sh.Name), "list") > 0 Then
            sh.Visible = False
        End If
    Next sh
Avatar billede Silfver Nybegynder
21. februar 2012 - 09:06 #2
Øhh, kan du uddybe dit forslag?
Avatar billede supertekst Ekspert
21. februar 2012 - 09:33 #3
Eksemepl:

Sub test()
    skjulVis True
   
    skjulVis False

End Sub
Sub skjulVis(sesIkkeses)
   
    For Each sh In ActiveSheet.Shapes
        If InStr(LCase(sh.Name), "list") > 0 Then
            sh.Visible = sesIkkeses
        End If
    Next sh
End Sub

PS: Du skal ikke anvende Svar - det er kun forslagsstiller, der anvender dette, hvis de mener at indlægget er et svar på det stillede spørgsmål.
Avatar billede Silfver Nybegynder
21. februar 2012 - 09:42 #4
Ok, jeg fatter ikke noget af det du skriver. Du er tydeligt niveauer over mig vha. Excel, men hvis jeg skal suge på din viden, skal det skæres ud i et letforståeligt sprog.

PS: Svar/kommentar...point taken.
Avatar billede supertekst Ekspert
21. februar 2012 - 09:57 #5
Har skrevet det som en Sub-rutine - idet jeg opfattede at der kunne være flere rullelister, hvis navn jeg ikke kender.

Ligeledes, at disse rullelister stammer fra kontrolelementer.
-------

På basis af disse antagelser kalder jeg subrutinen skjulVis med en parameter, der enten er True eller False - altså skal rullelister vises eller skjules 1)

Da den slags rulleliste er ligger som Shapes i arket - undersøger jeg de shapes, der måtte ligge i arket ") - altså for hver sh (der er af typen Shapes) spørger jeg om navnet indeholder ordet "list" - 3)

Hvis ja - så tildeler jeg sh's synlighed den overført parameters værdi 4)

Fortsætter med næste sh 5)

Sub skjulVis(sesIkkeses) 1)
    For Each sh In ActiveSheet.Shapes                '2)
        If InStr(LCase(sh.Name), "list") > 0 Then    '3)
            sh.Visible = sesIkkeses                  '4)
        End If
    Next sh                                          '5)
End Sub
Avatar billede Silfver Nybegynder
23. februar 2012 - 15:30 #6
Enten forstår jeg ikke forslaget, eller også virker det bare ikke.

Rullemenuerne er kontrolelementer og kan ikke ændres i programkoderne (jeg kan i hvert fald ikke).

Det der skal ske er, at når jeg klikker på en knap, så bliver resultatet i cellen G3 enten SAND eller FALSK.
Hvis FALSK så skal cellerne 4 - 31 skjules. Men i de her celler har jeg altså lagt rullemenuer som ikke skjuler sig.
Avatar billede supertekst Ekspert
23. februar 2012 - 15:53 #7
Du er velkommen til at sende filen - @-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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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