Innhold
UserForms, også kalt "dialogbokser", er grafiske vinduer som tillater brukere å fylle informasjon i felt og sette inn slike data i Excel-regneark. En UserForm er innebygd i Excel og kjører når du åpner en Excel-fil, vanligvis gjennom en makro. Fordi UserForms utnytter Visual Basic-språket, kan de tilpasses for å sikre at dataene som er angitt i feltene er fullført og gyldige før de overføres til et Excel-regneark.
retninger
Excel UserForms er en utmerket måte å sikre gyldig og ren datainngang på (binær data bilde av rgbspace fra Fotolia.com)-
Åpne Excel og opprett et nytt regneark ved å klikke på "Fil" -elementet og velg "Ny". Lagre filen som "updated_sheet.xls".
-
Hold regnearket åpent og start Visual Basic Editor ved å trykke "Alt" + "F11". Opprett en ny UserForm ved å klikke på "Sett inn" -menyen og velg "UserForm". Navngi UserForm for "transferForm" ved å endre attributten "Name" i egenskapsmenyen. Endre attributten "Caption" til "transferForm".
-
Legg til en tekstboks i skjemaet ved å velge den i verktøykassen ved å dra den og slippe den på skjemaet. Navngir tekstboksen som "transferInput" i egenskapsvinduet. Hvis verktøykassen ikke er åpen, gå til "Vis" og "Verktøykasse".
-
Legg til en oppdateringsknapp i skjemaet. Velg en "Kommandoknapp" fra verktøykassen, dra den, og slipp den på skjemaet. Navngi kommandoknappen for "transferButton" i egenskapsvinduet og endre attributten "Caption" til "Refresh Sheet".
-
Legg til en knapp for å lukke skjemaet. Velg en annen "Command Button" fra verktøykassen, dra den, og slipp den på skjemaet. Navngi kommandoknappen som "closeButton" i egenskapsvinduet og endre attributten "Caption" til "Close Form".
-
Åpne Visual Basic-editoren ved å dobbeltklikke på "TransferButton" -knappen. Skriv inn følgende kode i "transferButton_click ()" -funksjonen, som overfører alle fylte opplysninger i tekstboksen til regnearket "workheet_dual.xls" når brukeren klikker på knappen. Lukk kodeditoren.
Privat DeloverføringButton_Click () Dim transferWorksheet som regneark Sett transferWorksheet = Regneark ("Sheet1") transferWorksheet.Cells (1,1) .Value = Me.transferInput.Value End Sub
-
Åpne Visual Basic-kodeditoren ved å dobbeltklikke på "closeButton" -knappen. Sett inn følgende kode i "closeButton_Click ()" -funksjonen, som lukker skjemaet når brukeren klikker på knappen. Lukk kodeditoren.
Privat Sub closeButton_Click () Unload Me End Sub
-
Kjør skjemaet koden ved å klikke "Kjør" og deretter "Kjør Sub / UserForm". Fyll ut tekstfeltet og klikk på "transferButton" -knappen. Kontroller at dataene er overført riktig til den første cellen i regnearket. Lagre og lukk UserForm.
-
Bruk en Excel-hendelsesprosedyre for å åpne UserForm når en bruker åpner regnearket. Åpne "Project Explorer" og dobbeltklikk på "ThisWorkbook" -kodevinduet. Sett inn makroen nedenfor, som åpner skjemaet når regnearket åpnes. Lagre og lukk Visual Basic.
Private Sub Workbook_Open () transferForm.Show End Sub
-
Åpne filen "updated_sheet.xls" igjen. Skjemaet åpnes. Skriv litt tekst i feltet og klikk på knappen "TransferButton". Teksten du fyller ut i skjemaet, blir overført til den første cellen i regnearket.
Slik overfører du data fra en UserForm til et regneark
tips
- For å åpne Egenskaper-vinduet eller Project Explorer, velg menyelementene "Vis" i Visual Basic Editor.
- For å endre størrelsen på kontrollene lagt til på skjemaet, bruk de små firkantene som vises når kontrollen er valgt.
- Prøv å legge til noen validering i skjemaet for å hindre brukere i å angi ugyldige data.
advarsel
- Makroer kjøres ikke i alle versjoner av Excel.
- Noen Excel-sikkerhetsinnstillinger lar ikke makroer kjøres.
- Støtte for Visual Basic-editoren ble fjernet i Excel 2008, for Mac.
Hva du trenger
- Microsoft Excel med en Visual Basic Editor