Avatar billede h_s Forsker
06. november 2008 - 18:58 Der er 12 kommentarer og
1 løsning

Start op i combobox med startværdi markeret

I en userform har jeg en combobox
Den har jeg givet Tabindex for at der altid startes i den. Men curseren starter for enden af teksten, så jeg skal slette teksten inden jeg går i gang med at skrive.

Når jeg så har trykket på OK i userformen er OK stadig aktiveret, men jeg skal skrive i Userformen og må så have fat i musen igen.

Kan det ikke gøres så teksten altid er markeret.
Jeg har prøvet forskellige ting i Properties på combobox og knappen uden held.
06. november 2008 - 19:21 #1
Hvis det er meningen, at man ikke må skrive valgfri tekst i din combobox, så kan du ændre propertien Style til fmStyleDropDownList
Avatar billede h_s Forsker
06. november 2008 - 19:35 #2
Der må gerne skrives i den, så det er ikke en løsning.
Curseren skal starte i combobox'en med markeret tekst!
06. november 2008 - 19:52 #3
Så skal du igang med at lege med SelStart og SelLength

Private Sub UserForm_Initialize()
    Me.ComboBox1.AddItem "peter"
    Me.ComboBox1.AddItem "søren"
    Me.ComboBox1.ListIndex = 0
   
    Me.ComboBox1.SelStart = 0
    Me.ComboBox1.SelLength = Len(Me.ComboBox1.Text)
End Sub
Avatar billede h_s Forsker
06. november 2008 - 20:01 #4
Okay, men hvad gøre koden du har skrevet?
Avatar billede h_s Forsker
06. november 2008 - 20:09 #5
Skal koden sættes i userformen eller i et modul?
06. november 2008 - 20:53 #6
UserForm_Initialize er en kode i Userform modulet - prøv dig lidt frem
Avatar billede h_s Forsker
07. november 2008 - 11:54 #7
Jeg har desværre lidt svært ved at prøve mig frem, når jeg ikke ved hvad den gør.
Bl.a. hvad skal jeg ændre "peter" og "søren" til?
ComboBox1 skal det ændres til navnet på min combobox?
07. november 2008 - 12:05 #8
start en helt ny excel fil
start VBA og opret Userform1
Indsæt en combobox (dermed ComboBox1) et eller andet sted på userformen
Kopier min kode ind i userformens kode modul
Kør og test

Private Sub UserForm_Initialize()
    'Opretter to elementer i combox'en Peter og Søren
    Me.ComboBox1.AddItem "peter"
    Me.ComboBox1.AddItem "søren"
    'Sætter første element til at være valgt
    Me.ComboBox1.ListIndex = 0
   
    'Gør det der sjov med at få markeret teksten fra det første element
    Me.ComboBox1.SelStart = 0
    Me.ComboBox1.SelLength = Len(Me.ComboBox1.Text)
End Sub
09. november 2008 - 17:29 #9
Virker det for dig?
Avatar billede h_s Forsker
09. november 2008 - 19:21 #10
Jeg kan ikke finde ud af hvad Peter og Søren skal bruges til i mit tilfælde. Eller hvad det i det hele tage skal bruges til.
Der skal ikke oprettes nogle elementer. Det der står i comboboxen når den startes, skal "bare" være markeret så når man trykker på den første tast, så slettes det der stod før og det nye kommer "ind".
09. november 2008 - 20:41 #11
Du skal ikke bruge peter og søren til noget - det er et eksempel - det er SelStart og SelLength du skal bruge.
Avatar billede h_s Forsker
10. november 2008 - 14:39 #12
Okay - afprøver det lige og vender tilbage!
Avatar billede h_s Forsker
13. november 2008 - 17:14 #13
Så virker det - Tak smartoffice_dk for din tålmodighed!
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