Avatar billede swamboo Seniormester
16. december 2003 - 22:39 Der er 16 kommentarer og
1 løsning

Combobox_Click Clikker for tidlig.

Disse procedurer er jeg ved at bygge, men jeg kan ikke forstå at den kører Click-sub'en med det samme - den skulle gerne vente på mit valg - hvad er forkert??

Private Sub Comskab_Click()
    Select Case Comskab.Value
    Case 0  ' ""
    MsgBox ("du valgte ingenting")
     
    Case 1 'Brochureskab
    MsgBox ("du valgte Brochureskab")
   
    Case 2 'Skab 1
    MsgBox ("du valgte Skab 1")

    Case 3 'Skab 2
    MsgBox ("du valgte Skab 2")
    Case 4 'Pulten
    MsgBox ("du valgte Pulten")
   
    Case 5 'Bagreolen
    MsgBox ("du valgte Bagreolen")
End Select


MsgBox ("ja")
Unload Me

End Sub

Public Sub UserForm_activate()

    Comskab.Clear
            Comskab.AddItem ""                  'ListIndex = 0
            Comskab.AddItem "Brochure skab"    'listindex = 1
            Comskab.AddItem "Skab 1"            'listindex = 2
            Comskab.AddItem "Skab 2"            'listindex = 3
            Comskab.AddItem "Pulten"            'listindex = 4
            Comskab.AddItem "Bag reolen"        'listindex = 5
    'Use drop-down list
    Comskab.Style = fmStyleDropDownList
    'Combo box values are ListIndex values
    Comskab.BoundColumn = 0
    'Set combo box to first entry
    Comskab.ListIndex = 0
           
End Sub

Håber snart at høre jeres kloge svar...
Avatar billede Slettet bruger
16. december 2003 - 22:41 #1
Hvis det er nogenlunde som vb så prøv med OnChange istedet for onclick, den kommer jo lige netop når du klikker :-)
Avatar billede swamboo Seniormester
16. december 2003 - 22:49 #2
Nej, jeg det hjælper ikke. Den kører den stadig igennem med det samme...
Man kunne selvfølgelig lave en for-next som annullerer første gennemløb, men der MÅ være en bedre måde...
Avatar billede jkrons Professor
16. december 2003 - 22:50 #3
Du skal ikke have noget på andre hændelseer end Change. Hvis den stå kører så snart du klikkerm er der et eller andet andet galt.
Avatar billede swamboo Seniormester
16. december 2003 - 22:56 #4
Hvad mener du?? Er det sub'en der skal hedde noget andet, eller???
Avatar billede Slettet bruger
16. december 2003 - 22:58 #5
Sub'en skal være Change istedet for Click
Avatar billede jkrons Professor
16. december 2003 - 23:00 #6
Din kode skal ligge på hændelsen, der på dansk hedder VedÆndring. Ikke på VedKlik. Derfor skal den hedde Private Sub Comskab_Change().

Der må ikke læigge kode med hændelsesnavnet Click. Så går det galt.
Avatar billede swamboo Seniormester
16. december 2003 - 23:02 #7
Yep - den fangede jeg godt. Skriver jeg Private Sub Comskab_Change(), såbliver den bliver kørt alligevel.
Avatar billede jkrons Professor
16. december 2003 - 23:04 #8
Åbn din formular i designvisning.  Højreklik på Komboboksen. vælg Egenskaber. Se under hændelser. Ligger der noget på VedKlik? Så fjern det.
Avatar billede swamboo Seniormester
16. december 2003 - 23:16 #9
Hmmm...  Har kikket grundig - den er på engelsk - men jeg syntes ikke der er noget alarmerende der...
Avatar billede jkrons Professor
16. december 2003 - 23:20 #10
Du kan evt sende regnearket til jkr@lyngby.nu - så skal jeg prøve at se på det.
Avatar billede swamboo Seniormester
16. december 2003 - 23:26 #11
Det var pænt af dig, men det har jeg ikke mulighed for her hvor jeg sidder lige nu. Men hvis der ikke er kommet andre svar i morgen eftermiddag kan jeg sende det da. Passer det dig??
Avatar billede jkrons Professor
17. december 2003 - 00:12 #12
Helt i orden. Så kan jeg se på den, når jeg kommer hjem.
Avatar billede swamboo Seniormester
17. december 2003 - 22:48 #13
You got mail  ;-)
Avatar billede jkrons Professor
18. december 2003 - 00:04 #14
Dewsværre er det ved at være sengetid - så jeg kigger på den i morgen. når jeg er lidt mere frisk :-)
Avatar billede jkrons Professor
18. december 2003 - 17:16 #15
Efter at have set lidt på din formular er jeg nået frem til, at problemet ligger i din "Public Sub UserForm_activate()" procedure. Her fylder du komboboksen, hvilket er godt nok, men i den sidste linie foretager du et valg:    Comskab.ListIndex = 0

Det betyder, at indholdet af komboboksen ændres (sådan opfattes det i hvert fald af Excel - uanset om du ser det sådan eller ej :-)). Derfor indtræffer hændelsen Change i samme øjeblik, dialogboksen åbnes, og derfor vises meddelelsesboksen om at "du valgte ingenting" så snart boksen åbnes. Prøv at fjerne eller udkommentere linien Comskab.ListIndex = 0, og se om du så ikke opnår det, du gerne vil.
Avatar billede swamboo Seniormester
18. december 2003 - 18:10 #16
Jammen du har jo fantastisk meget ret - hvorfor sagde du ikke bare det med det samme???  ;-)
Et eller andet sted er det jo også såre logisk - man skriver jo at listindex'en skal ændres - som ved et klik i Comboboxen...

Tak for hjælpen/ulejligheden!!
Avatar billede jkrons Professor
18. december 2003 - 18:19 #17
Af til er det sævrt at se skoven for bare træer :-) Men velbekomme og tak for point.
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