Excel VBA Kontroll Tutorial

Microsoft Excel evner er sterkt forbedret gjennom bruk av Visual Basic script, som lar deg skreddersy Excel standardverktøy til prosjektets spesifikke behov. Ved hjelp av egendefinerte brukerskjemaer, med kontroller for å få brukerundersøkelser, gir deg full kontroll over brukerinngangs Excel-data. Gå inn i følgende programmet vil vise deg hvordan du bruker flere Visual Basic kontroller.

Start prosjektet ved å åpne Excel og inn i Visual Basic IDE (integrert utviklingsmiljø). Skriv inn IDE med alt-F11.

Plasser Controls

I IDE designer vindu (Vis> Object), dra og slipp kontroller fra verktøykasse på en bruker skjemaet som følger:

Plasser en ramme kontroll på skjemaet. I vinduet Egenskaper, endre bildeteksten til "Sivil status." Med rammen kontroll likevel valgt, drar to alternativknapper på innsiden av rammen kontroll. Dra to etiketter i rammen, hver til venstre for en alternativknapp. Gi etikettene bildetekstene "Gift" og "Single".

Dra en listeboks under rammen og dets valgknappene. Dra en etikett, som automatisk skal hete Label3 under listeboksen. Enter "Svar på sikkerhetsspørsmålet," for sin bildetekst. Til høyre for Label3 dra en tekstboks. Under tekstboksen dra en knapp og gi den bildeteksten "Send". Til slutt, dra en etikett, som skal hete Label4, til høyre for rammen kontroll. Gjør sin bildetekst blank.

Handlingene du nettopp har tatt laget en typisk form som samler inn data fra en potensiell ny kunde. Du vil nå bruke Visual Basic for å overføre kundens data fra kontrollene på et Excel-regneark.

Opprette Kode for Form

Dobbeltklikk skjemaet for å taste inn koden vinduet, og velg disse elementene fra de to rullegardinmenyene øverst i koden vinduet: Userform, og Initial. IDE vil skape en blank Initial sub. Inne at sub, skriv denne koden, som fyller listeboksen når programmet starter:

ListBox1.List = Array ( "Hva er du favoritt film?", "I hvilken by ble du født?", "Hva er lyden av en hånd klapping?")

Som du gjorde for brukeren skjemaets Initial subrutine, skape tomme subrutiner for valgknappene "klikk hendelser, ved hjelp av koden vinduets rullegardinmenyene. I Klikk hendelsene i både optionButton1 og 2, skriv inn følgende kode: ". Ekteskapelig" Det er navnet på en funksjon du skal skrive nå:

I en tom del av koden vinduet, skape den ekteskapelige funksjon:

Private Sub ekteskapelig ()
«Hvilken knappen ble valgt?
Hvis OptionButton1.Value = True Deretter

Label4.Caption = "married"

Ellers

Label4.Caption = "single"

Slutt om

End Sub

Overfør skjemadata til regneark

Opprett blank subrutine for kommandoknappen Klikk-hendelsen ved hjelp av koden vinduets rullegardinmenyene, og skriv dette i at subrutine:

Range ( "a1") = Label4.Caption
Range ( "b1") = ListBox1.Value
Range ( "c1") = TextBox1.Value

Denne koden overfører skjemadataene til regnearket.

Skriv inn den siste biten av kode, en ny subrutine som viser skjemaet:

Public Sub showForm ()
UserForm1.Show

End Sub

Gå tilbake til Excel (Alt-F11) og kjøre makroen (Developer> makroer, showForm). Skriv inn data i skjemaet, trykker du på knappen, og se regnearket får skjemaets verdier.