Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Rap, Hip-hop 90'
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- sh4d0w: Skywalker: Revealed
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
- Meggyi001: A végtelenbe...
-
LOGOUT
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Mutt
senior tag
válasz
Pakliman
#54199
üzenetére
Szia,
Két megoldást tudok javasolni:
1. A Click eseményeket beteszed egy saját subroutinba és azonnal meghívod ahogy a vezérlőt (választó gombot) létrehoztad.Sub RunClick(obj As Object)Dim frm As MSForms.UserFormSet frm = obj.ParentWith frmSelect Case obj.NameCase "opbXYZ1".Label1.Caption = obj.Name & ": " & obj.ValueCase "opbXYZ2"frm.BackColor = 13882323MsgBox "hello world"Case "opbXYZ3"frm.BackColor = 14481663End SelectEnd WithEnd Sub
A Select Case-el csak bemutattam hogy eltérő ágakat tudsz létrehozni.2. Megvárod, hogy a vezérlő létrejöjjön és csak utánna változtatod meg az értékét.
A kódodon csak minimálisan változtattam (tartalmazza az 1-es lehetőséget is), a végén van a 2-es opció. Ott véletlenszerűen megváltoztatom az egyik vezérlő értékét, ekkor már le fog futni a Change esemény-Private Sub CommandButton1_Click()Dim ctl_OpB As MSForms.OptionButtonDim i As LongReDim opbArray(1 To 3)For i = 1 To 3Set ctl_OpB = Me.Controls.Add("Forms.OptionButton.1", "opbXYZ" & i, False)With ctl_OpB.Left = 100.Top = 150 + (i * 20).Width = 100.Caption = "opb_" & CStr(i).Visible = TrueEnd With'egyik megoldás, hogy létrehozáskor elindítod a saját kódodCall RunClick(ctl_OpB)Set opbArray(i).OptionButton = ctl_OpBNext iSet ctl_OpB = Nothing'másik megoldás, hogy létrehozás után változtatod meg az értékétDim r As DoubleRandomizer = Int(Rnd * 3) + 1opbArray(r).OptionButton.Value = Not opbArray(r).OptionButton.ValueEnd SubA class module-ban csak ennyi van:
Public WithEvents OptionButton As MSForms.OptionButtonPrivate Sub OptionButton_Change()Dim frm As MSForms.UserFormSet frm = OptionButton.ParentWith frm.Label1.Caption = .Label1.Caption & vbNewLine & OptionButton.Name & " - " & OptionButton.ValueEnd WithEnd SubPróbáld ki.
üdv
-
Fferi50
Topikgazda
válasz
Pakliman
#54199
üzenetére
Szia!
Nem egészen értem, hogy miért szeretnél makróval eseményt indítani egy újonnan felvett vezérlőre. Ezeket pont a userrel való kommunikációra használjuk. Pláne úgy, hogy egy aktív userformon van. Ha végig fut a makró, a userform fennmarad, akkor kattintgathat a user, vezérelheti a folyamatokat.
Persze értem én, hogy tanulni szeretnél, csak nem logikus szerintem.
Üdv.
Új hozzászólás Aktív témák
- Keresem a Barkács Balázs Játékokat
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- PC Game Pass előfizetés
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most Ünnepi áron! :)
- ÚJ OMEN Transcend 14 - 14"2.8K OLED 120Hz - Ultra 7 155H - 16GB - 1TB - RTX 4060 - Win11 - 3 év gari
- Xbox Series X 1 TB + kontroller 6 hó garancia, számlával!
- Microsoft Surface Laptop 5 i5-1245U 16GB 512GB 13.5" Gorilla Glass TouchScreen 1 év garancia
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- BESZÁMÍTÁS! MSI B450 R7 5700X 32GB DDR4 512GB SSD RTX 3070Ti 8GB Zalman Z1 Plus Cooler Master 750W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Fferi50
