Excel UserForms Tutorial

Microsoft Excel skriptspråk, Visual Basic, ikke bare øker funksjonaliteten til Excel, men også kan gjøre at funksjonaliteten enklere å bruke - gjennom brukerskjemaer. Bruker skjemaer er små vinduer som brukerne kan skrive regnearkdata gjennom.

Lag skjema

Begynn å opprette en bruker skjemaet ved å skrive inn Visual Basic IDE (integrert utviklingsmiljø): fra Excel-regneark, trykker du "alt" - "F11". Opprett en ny bruker skjemaet ved å gå "Insert"> "Userform".

Dra og slipp følgende kontroller fra verktøykassen på skjemaet: to tekstbokser, den andre under den første. Legg en kommandoknapp under tekstboksene, og to etikett kontroller, hver til venstre for en tekstboks. I egenskapsvinduet, endre tittelen for den øvre etiketten til "Name", og bildeteksten av nedre etiketten til "E-postadresse". Endre knappens bildetekst til "Send".

Tast inn koden

Nå skriver koden som henter data fra skjemaet og setter det inn i et regneark.

Fra designer vinduet form, dobbeltklikker du på "Send" -knappen. Markøren flyttes til button1_click arrangementet, som utløses når knappen klikkes under program runtime.

I button1_click tilfelle, skriver du inn følgende programkode:

Dim r As Range

Still r = Range ( "a65536"). End (xlUp)

Still r = r.Offset (1, 0)

r.Value = TextBox1.Value

Still r = r.Offset (0, 1)
r.Value = TextBox2.Value

Skriv en liten subrutine som viser det nye bruker form. Inne i IDE, dobbeltklikker du Thisworkbook-ikonet i prosjektruten. I koden vinduet angir denne nye subrutine:

Public Sub MAC 1 ()
UserForm1.Show

End Sub

Kjør programmet fra Excel-regnearket ved å gå til Developer> Makroer, velge "MAC 1," og trykke på knappen "Kjør". Skriv inn noen regnearkdata med ditt brukernavn form.

Utforsk Program

Den første linjen i button1_click erklærer en rekke variabel. Et utvalg er et sett av regnearkceller. Du vil legge inn data i dette området med koden etter Dim uttalelse.

. Uttalelsen Still r = Range ( "a65536") End (xlUp) definerer en rekke en celle: den nest siste cellen i forrige rad med data. Dette er ikke et intuitivt utseende stykke kode, så ikke bekymre deg hvis du ikke forstår det ved første øyekast. Bryt opp erklæringen for å se hvordan det fungerer. The Range ( "a65536") delen klart angir cellen a65536 - helt på bunnen av den første kolonnen i regnearket. Den neste stykke, End (xlUp), er et annet område: det er der markøren ville ende opp hvis du hadde det i utgangspunktet på celle a65536, trykket på avslutningstasten, og deretter trykket på pil opp.

Hvis du skulle legge inn data på denne cellen, vil du overskrive den forrige rad. Det er derfor du trenger neste setning: Still r = r.Offset (1, 0). Den uttalelsen omdefinerer serien for å være en rad ned (og null kolonnene til høyre) fra der den var. Serien "r" er nå i første tomme cellen under eventuelle eksisterende rader med data. Det er der koden kan begynne å legge inn en ny data rad.

Fylling celledata fra Form Input

De neste uttalelser flytte skjemadata til området koden din bare identifisert som den første tomme celler under den forrige data rad. r.Value = TextBox1.Value setter tom celle verdi med verdien fra den første tekstboksen. Neste celle er en kolonne til høyre, og sett r = r.Offset (0, 1) omdefinerer området å være at cellen. Argumentene 0 og 1 refererer til 0 rekker ned og en celle til høyre for den tidligere serien s ( "r") plassering.

Fylling de to kolonnene fullfører en data rad. Når brukeren klikker på knappen, vil button1_click hendelsen kjøre igjen. Set r = Range ( "a65536"). End (xlUp) vil igjen riktig innstilt utvalget av den nye raden.