Avatar billede valsoeje Nybegynder
07. november 2002 - 22:57 Der er 14 kommentarer og
1 løsning

ComboBox i Userform

Hvordan får jeg comboboxen i en userform til at 1) vise en liste med "I dag" og yderligere 6 dage tilbage, og 2)overføre den valgte dato til et regneark ?
Avatar billede rvm Nybegynder
07. november 2002 - 23:05 #1
Her er koden til det første spørgsmål:

Private Sub UserForm_Activate()

ComboBox1.AddItem Date
ComboBox1.AddItem Date - 1
ComboBox1.AddItem Date - 2


End Sub
Avatar billede rvm Nybegynder
07. november 2002 - 23:06 #2
Svar på spørgsmål 2

Sub cmdOK_Click()

Range("A1") = ComboBox1

End Sub
Avatar billede valsoeje Nybegynder
07. november 2002 - 23:08 #3
OK; hvis hele min makro til userformen ser ud som nedenunder, hvor skal jeg så sætte de tre linier ?
Private Sub CommandButton1_Click()
    Dim wksData As Worksheet
    Dim ctl As Control
    Dim lRow As Long
   
    Set wksData = Worksheets("Data")
    ' Finder næste ledige række i Data-arket.
    lRow = wksData.Range("A65536").End(xlUp).Row + 1
 
    ' Tilføjer teksten i tekstboxen til næste række ledige celler.
    With wksData
        .Cells(lRow, 1) = Me.TextBox1.Value
        .Cells(lRow, 2) = Me.TextBox2.Value
        .Cells(lRow, 3) = Me.TextBox3.Value
        .Cells(lRow, 19) = Me.ComboBox1.Value
       
    'Lægger tid ind i den valgte kategorikolonne.
   
        For Each ctl In Me.Frame1.Controls
            If TypeName(ctl) = "OptionButton" Then
                If ctl.Value Then
                    .Cells(lRow, Val(ctl.Tag)).Value = Me.TextBox3.Value
                End If
            End If
        Next ctl
    End With
       
   
    Unload Me
    UserForm1.Show
   
    Set wksData = Nothing
End Sub
Avatar billede rvm Nybegynder
07. november 2002 - 23:11 #4
De 3 linier skal stå for sig selv (f.eks. lige under ovenstående) i en makro for sig selv, der SKAL hedde

Sub UserForm_Activate()

End sub
Avatar billede valsoeje Nybegynder
07. november 2002 - 23:18 #5
Jeg har lavet sub en, men når makroen kommer til
ComboBox1.AddItem Date
vises der en kørselsfejl: Adgang blev nægtet...
Jeg er 100% sikker på, at den hedder combobox 1
Avatar billede rvm Nybegynder
07. november 2002 - 23:21 #6
Jeg har lige testet det hos mig og der virker det - hmmm

Prøv at sende filen til mig, så kan jeg lige kikke på den inden jeg går i seng *S* rvejemad@sca.csc.com
Avatar billede valsoeje Nybegynder
07. november 2002 - 23:23 #7
OK - jeg skal lige tænde for en anden PC med netforbindelse...
Avatar billede rvm Nybegynder
07. november 2002 - 23:39 #8
Hej Søren

Tak for din fil *S*

Sjovt du har været på mit kursus *S* Verden er lille :-)

Fejlen er forøvrigt fundet. Din userform hedder userform1 - derfor skal makronavnet være: Sub UserForm1_Activate()

Hilsen

Richardt
Avatar billede valsoeje Nybegynder
07. november 2002 - 23:43 #9
Jeg prøver lige. Tror du i øvrigt at jeg kan slippe afsted med:Cells(lRow, 19) = Me.ComboBox1.Value
-eller skal jeg nøjes med at skrive combobox1 efter lighedstegnet ? Meningen er jo, at datoen skal lægges i kolonne 19 i den "næste ledige række"...?
Avatar billede rvm Nybegynder
07. november 2002 - 23:45 #10
Det tror jeg du slipper afsted med *S*
Avatar billede valsoeje Nybegynder
07. november 2002 - 23:50 #11
Hmmm...lige på falderebet: der fremkommer ingen valgmuligheder i boxen. Er der en egenskab der skal defineres ?
Avatar billede rvm Nybegynder
07. november 2002 - 23:56 #12
Nej - det driller også mig nu *S* men løsningen er at omdøbe makroen fra

UserForm1_Activate()

til

Sub UserForm_Initialize()
    ComboBox1.Clear
    ComboBox1.AddItem Date
    ComboBox1.AddItem Date - 1
    ComboBox1.AddItem Date - 2
End Sub

Læg forøvrigt mærke til at jeg clearer comboboksen hver gang den aktiveres i dette eksempel - det kan nogen gange gøre en forskel også...

P.s.
Jeg opdagede lige at du har arbejdet med lister som inddata til compboksen i det tilsendte regneark - det virker ikke, da en dato i celle ikke er en dato, men et løbenummer. Hvis du bare ville have tal eller tekst i comboboksen var det ellers en god løsning.
Avatar billede valsoeje Nybegynder
08. november 2002 - 00:01 #13
Ja, man må jo prøve sig frem *G*, ellers kommer man ingen vegne. Du skal i hvert fald have tak for hjælpen, nu kan jeg kaste mig over loops der finder bestemte datoer, bestemte linier... Håber bare på at chefen værdsætter det, når vi engang skal tale om personalegoder *GGG*.
Avatar billede valsoeje Nybegynder
08. november 2002 - 00:02 #14
Hov...fik du ikke dine point ?
Avatar billede rvm Nybegynder
08. november 2002 - 00:07 #15
Ja - det det bliver jo spændende *SSS*

Tak for points og held og lykke med det hele... - nu vil jeg gå i seng, så jeg være bare nogenlunde frisk til morgendagens udfordringer *G*
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