VBA - valdiklių dinaminis įtraukimas į „Userform“

Norėdami sukurti paramą šiai demo programai, naudojome skaičiuoklės pavyzdį, tačiau šį kartą visi valdikliai buvo sukurti dinamiškai.

Sukuriant valdiklius dinaminiu būdu, „Excel“ neatpažįsta valdiklių pavadinimų. Tai reiškia, kad jūsų valdiklių ir jų savybių generuojami įvykiai nebus prieinami per priskirtus pavadinimus. Pavyzdžiui, kai sukuriate mygtuką su šiuo kodu:

Nustatyti „Bouton“ = „Me.Controls.Add“ („Forms.CommandButton.1“, „Bt“ ir „i“, „True“)

Mygtuko pavadinimas bus (tuo atveju, jei i = 1) BT1

Bet privatus sub BT1_Click () įvykis niekada nebus generuojamas. Norėdami tvarkyti šią problemą, naudojote objektų rinkinius renginių savybėms ir klasių rinkiniams. Objektų kolekcijose yra ne tik kontrolė, bet ir raktas, kuriuo galima remtis. Konfigūruodami kontrolinių žymių žymę su norimu indeksu, klasės rinkinys gali grąžinti indeksą, kuris taip pat leidžia jums žinoti, kuris valdymas buvo šio įvykio objektas.

„UserForm“ dizaino nėra. Visi valdikliai yra dinamiškai sukurti skaičiuokle, įskaitant rėmelių konteinerį. Demo taip pat suteikia galimybę įtraukti mygtukus į rėmelius

Parsisiųsti:

1 serveris: pridėkite „Control UserForm.xls“

Ankstesnis Straipsnis Kitas Straipsnis

Geriausi Patarimai