/ / Excel VBA Multicolumn Combo Box

Excel VBA Multicolumn Combo Box

Tālāk mēs apskatīsim programmu programmā Excel VBA kas rada Userform, kas satur a multikolmola kombinētais lodziņš.

Lietotāja forma, kuru mēs veidosim, izskatās šādi:

Multicolumn Combo Box programmā Excel VBA

Lai izveidotu šo Userform, izpildiet šādas darbības.

1. Atveriet Visual Basic Editor. Ja Project Explorer nav redzams, noklikšķiniet uz Skatīt, Project Explorer.

2. Noklikšķiniet uz Ielikt, Lietotāja forma. Ja rīkjosla neparādās automātiski, noklikšķiniet uz Skatīt, rīkjoslu. Jūsu ekrāns ir jāiestata tā, kā parādīts zemāk.

Userform ekrāna iestatīšana programmā Excel VBA

3. Pievienojiet iezīmi, kombinēto lodziņu un komandu pogas. Kad tas ir pabeigts, rezultātam jāatbilst iepriekš redzamā lietotāja formas attēlam. Piemēram, izveidojiet kombinēto lodziņu vadību, noklikšķinot uz ComboBox rīkjoslā. Tālāk jūs varat vilkt kombinēto lodziņu Userform.

4 Jūs varat mainīt vadības ierīču nosaukumus un parakstus. Vārdi tiek izmantoti Excel VBA kodā. Paraksti ir tie, kas tiek parādīti ekrānā. Laba prakse ir mainīt kontroles nosaukumus, taču šeit tas nav nepieciešams, jo šajā piemērā ir tikai dažas kontroles. Lai mainītu Userform, etiķetes un komandu pogu nosaukumu, noklikšķiniet uz Skatīt, rekvizītu logā un noklikšķiniet uz katras vadības pogas.

5. Lai parādītu Userform, ievietojiet komandas pogu savā darblapā un pievienojiet šādu koda rindiņu:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Tagad mēs izveidosim Sub UserForm_Initialize. Ja izmantojat Userform formātu Show method, šī apakšdaļa tiks automātiski izpildīta.

6. Atveriet Visual Basic Editor.

7. Projekta programmā labo pogu noklikšķiniet uz UserForm1 un pēc tam noklikšķiniet uz Skatīt kodu.

8. Izvēlieties Userform no kreisā nolaižamā saraksta. Izvēlieties Inicializēt labajā nolaižamajā sarakstā.

9. Pievienojiet šādas koda līnijas:

Private Sub UserForm_Initialize()

ComboBox1.ColumnCount = 2

Dim Films(1 To 5, 1 To 2) As String
Dim i As Integer, j As Integer

Films(1, 1) = "Lord of the Rings"
Films(2, 1) = "Speed"
Films(3, 1) = "Star Wars"
Films(4, 1) = "The Godfather"
Films(5, 1) = "Pulp Fiction"

Films(1, 2) = "Adventure"
Films(2, 2) = "Action"
Films(3, 2) = "Sci-Fi"
Films(4, 2) = "Crime"
Films(5, 2) = "Drama"

ComboBox1.List = Films

End Sub

Paskaidrojums: Pirmā koda rindiņa nosaka kombinēto lodziņu kolonnu skaitu uz 2. Tā vietā, lai iestatītu kolonnu skaitu runtime, jūs varat arī konfigurēt šo iestatījumu projektēšanas laikā. Lai to panāktu, ar peles labo pogu noklikšķiniet uz izvēles rūtiņas vadības paneļa, noklikšķiniet uz Rekvizīti un iestatīt Asset ColumnCount uz 2. Tālāk mēs deklarējam un inicializēsim divdimensiju masīvu. Pēdējā koda līnija mašīnai piešķir kombinēto lodziņu.

Tagad mēs esam izveidojuši lietotāja formas pirmo daļu. Lai gan tas izskatās pievilcīgs jau, nekas nenotiks, kad mēs noklikšķināsim uz Userform komandpogām.

10. Projekta Explorer divreiz noklikšķiniet uz UserForm1.

11. Dubultklikšķi uz pogas Labi.

12. Pievienojiet šādas koda līnijas:

Private Sub CommandButton1_Click()

Unload Me

MsgBox "You selected " & ComboBox1.Value

On Error Resume Next
MsgBox "You like " & ComboBox1.Column(1) & " movies"

End Sub

Piezīme: šīs kodu līnijas aizver Excel VBA Userform un parāda atlasīto objektu un žanru. Izraksts "Par kļūdas atsākšanu tālāk" ignorē kļūdu, kad lietotājs aizpilda savu filmu (šajā gadījumā nav pieejams neviens žanrs).

13. Divreiz noklikšķiniet uz pogas Atcelt.

14. Pievienojiet šādu koda rindiņu:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Rezultāts, kad izvēlaties ātrumu un noklikšķiniet uz Labi.

Multicolumn Combo Box rezultāts

Multicolumn Combo Box rezultāts

Lasīt arī: