Avatar billede swamboo Seniormester
01. marts 2004 - 18:06 Der er 7 kommentarer og
1 løsning

Click udebliver.

Jeg bøvler lidt med de genererede optionsbuttons.
ud fra følgende kode :
For Each c In UserForm1.Controls
Debug.Print TypeName(c) & ": " & c.Name
Next c

får jeg:
Frame: Frame3
CommandButton: Annuller
CommandButton: Overfør
TextBox: PubNavn
Label: Label1
Label: Label2
Label: Label4
TextBox: PubNr
TextBox: Sprog
Label: Label3
TextBox: AntalLager
TextBox: AntalBestilt
Label: Label6
Frame: Frame4
CommandButton: Find
Frame: visbox
Label: Navn1
OptionButton: OptionButton1
Label: Nr1
Label: Navn2
OptionButton: OptionButton2
Label: Nr2
Label: Navn3
OptionButton: OptionButton3
Label: Nr3

Alligevel virker denne sub ikke ved markering af button1:
Private Sub OptionButton1_Click()
MsgBox ("ja endelig")
PubNavn.Value = navn1.Value
PubNr.Value = Nr1.Value
End Sub
01. marts 2004 - 18:18 #1
Jeg kan ikke lige umiddelbart komme på noget.... ligner mere et "lad mig rode med det" problem....... men efter du har dannet alle dine controls, og fået skrevet din ekstra kode, så kan du prøve at lave denne her....

UserForm1.Repaint

Gør det nogen forskel ?
Avatar billede swamboo Seniormester
01. marts 2004 - 21:25 #2
Hej igen Flemming - det gav ingen forskel.
Er der fejl i den måde jeg "bygger" dem på??

        Set oCtl = Me.Controls("visbox").Controls.Add("Forms.optionbutton.1", "OptionButton" & linie, Visible)
        With oCtl
            .Left = 46
            .Top = (linie * 12)
            .Height = 12
            .Width = 12
        End With
01. marts 2004 - 22:31 #3
Nej, det tror jeg som ikke der er...... tror det er noget med at userformen ikke kender den event kode som du skriver......
01. marts 2004 - 22:36 #4
Men nu skal du høre.... opret et klassemodul og navngiv det  clsOpt
Indsæt følgende kode:

Public WithEvents OptButton As MSForms.OptionButton

Private Sub OptButton_Click()
    MsgBox "You clicked: " & OptButton.Caption
End Sub


I din kode til din userform tilføjer du en variable erklæring øverst
(dog ikke over Option Explicit hvis du bruger det)
Tilføj kode til din userform_initialiae

Private formButton As clsOpt

Private Sub UserForm_Initialize()
    Dim oCtl As MSForms.Control
    For Each oCtl In Me.Controls
        If TypeOf oCtl Is MSForms.OptionButton Then
            Set formButton = New clsOpt
            Set formButton.OptButton = oCtl
        End If
    Next oCtl
End Sub

Tror sku det er et svar værd.....
01. marts 2004 - 22:37 #5
Hvis du har flere userforms i dit program, så kan det godt drille dem....
Avatar billede swamboo Seniormester
01. marts 2004 - 22:48 #6
Øøh, jeg er lige stået af... Class modul. OK det ved jeg hvorer, men hvordan navngiver man dem?
Avatar billede swamboo Seniormester
01. marts 2004 - 22:51 #7
Ps. jeg har flere userforms i mit program...
Avatar billede swamboo Seniormester
01. marts 2004 - 22:59 #8
Sorry - fik den navngivet som du sagde, og får ingen fejl, men desværre heller ingen ændring...
Men jeg ved ikke om jeg vil spilde mere af jeres tid med dette, for det skal ikke bruges til noget uundværligt...
Men jeg er villig til at give dig point for dine (som altid) gode forslag...
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