A Visual Basic kiváló nyelv az ismétlődő feladatok automatizálására Excelben. Képzelje el, hogy az automatizálást egy lépéssel feljebb helyezi azáltal, hogy rendkívül funkcionális felhasználói űrlapokat hoz létre, amelyek a végfelhasználók számára is rendezettnek tűnnek.
A VBA felhasználói űrlapjai üres vásznat jelenítenek meg; bármikor megtervezheti és rendszerezheti az űrlapokat az igényeinek megfelelően.
Ebben az útmutatóban megtudhatja, hogyan hozhat létre tanulói alapú adatbeviteli űrlapot, amely linkelt Excel-lapokon rögzíti a releváns információkat.
Felhasználói űrlap létrehozása Excel VBA-val
Nyisson meg egy új Excel-munkafüzetet, és hajtson végre néhány előzetes lépést az adatbeviteli űrlap létrehozása előtt.
Mentse el a munkafüzetet a kívánt névvel; ne felejtse el módosítani a fájl típusát an-ra Excel makró-kompatibilis munkafüzet.
Összefüggő:Weboldalak és blogok az Excel tippek és trükkök megtanulásához
Adjon hozzá két lapot ehhez a munkafüzethez, a következő nevekkel:
- 1. lap: Itthon
- 2. lap:Hallgatói adatbázis
Nyugodtan változtassa meg ezeket a neveket igényei szerint.
Ban,-ben itthon lapon, adjon hozzá egy gombot a felhasználói űrlap makró vezérléséhez. Menj a Fejlesztő fület, és kattintson a Gomb opció a Beszúrás legördülő lista. Helyezze a gombot bárhová a lapon.
Miután elhelyezte a gombot, nevezze át. Kattintson rá jobb gombbal, majd kattintson rá Új hogy új makrót rendeljen az űrlap megjelenítéséhez.
Írja be a következő kódot a szerkesztő ablakba:
Sub Button1_Click()
UserForm. Előadás
Vége Sub
Egyszer a itthon és Hallgatói adatbázis A lapok elkészültek, ideje megtervezni a felhasználói űrlapot. Navigáljon a Fejlesztő fület, és kattintson a gombra Visual Basic a Szerkesztő megnyitásához. Alternatív megoldásként megnyomhatja ALT+F11 a szerkesztő ablak megnyitásához.
Kattintson a Beszúrás fület, és válassza ki UserForm.
Egy üres felhasználói űrlap használatra kész; az űrlappal együtt megnyílik egy hozzá tartozó eszköztár, amelyben minden lényeges eszköz megtalálható az elrendezés megtervezéséhez.
Az eszköztárból válassza ki a Keret választási lehetőség. Húzza ezt a felhasználói űrlapra, és méretezze át.
Ban,-ben (név) opcióval módosíthatja a keret nevét. A név megjelenítéséhez a kezelőfelületen módosíthatja a nevet a Felirat oszlop.
Ezután válassza ki a Címke opciót az eszköztárból, és illesszen be két címkét ebbe a keretbe. Nevezze át az elsőt a következőre: Pályázati szám a második pedig mint Diákigazolvány.
Ugyanez az átnevezési logika érvényesül; módosítsa a neveket a Felirat opció a Tulajdonságok ablak. A nevének megváltoztatása előtt feltétlenül válassza ki a megfelelő címkét.
Ezután szúrjon be két szövegmezőt a címkemezők mellé. Ezeket a rendszer a felhasználó bemeneteinek rögzítésére fogja használni. Módosítsa két szövegmező nevét a (Név) oszlopon belül Tulajdonságok ablak. A nevek a következők:
- 1. szövegdoboz: txtApplicationNo
- 2. szövegdoboz: txtStudentID
A tanulói részletek keretének megtervezése
Szúrjon be egy függőleges keretet, és adjon hozzá 10 címkét és 10 szövegdobozt. Nevezze át mindegyiket a következő módon:
- 3. címke: Név
- 4. címke: Kor
- 5. címke: Cím
- 6. címke: Telefon
- 7. címke: Város
- 8. címke: Ország
- 9. címke: Születési dátum
- 10. címke: Irányítószám
- 11. címke: Állampolgárság
- 12. címke: Nem
Illessze be a megfelelő szövegdobozokat a címkék mellé; illesszen be kettőt (vagy többet) opciógombot mezőket a felhasználói űrlap eszköztárából a mellett neme címke. Nevezze át őket Férfi és Női (az Egyedivel együtt), ill.
A kurzus részleteit tartalmazó keret megtervezése
Adjon hozzá egy másik függőleges keretet, és szúrjon be hat címkét és hat szövegdobozt az egyes címkéknek megfelelően. Nevezze át a címkéket a következőképpen:
- 13. címke: A tantárgy neve
- 14. címke: Tanfolyamazonosító
- 15. címke: Jelentkezés kezdő dátuma
- 16. címke: Jelentkezés befejezési dátuma
- 17. címke: A tanfolyam időtartama
- 18. címke: Osztály
Összefüggő: 4 elkerülendő hiba, amikor Excel makrókat programoz VBA-val
A fizetési részletek keretének kialakítása
Helyezzen be egy új keretet; adjon hozzá egy új címkét, és nevezze át "Szeretné frissíteni a fizetési adatokat?" Helyezzen be kettőt opciógombok; nevezze át őket Igen és Nem.
Hasonló módon adjon hozzá egy új keretet, amely két további címkét és két kombinált mezőt tartalmaz. Nevezze át a címkéket a következőképpen:
- 19. címke: Fizetés érkezett
- 20. címke: Fizetési mód
A navigációs ablak tervezése
Az utolsó keretben adjunk hozzá három gombot az eszköztárból, amelyek az űrlapok végrehajtásához szükséges kódot tartalmazzák.
Nevezze át a gombokat a következő módon:
- 1. gomb: Részletek mentése
- 2. gomb: Tiszta forma
- 3. gomb: Kijárat
Az automatizált űrlap kódjának beírása: Részletek mentése gomb
Kattintson duplán a Részletek mentése gomb. A következő modulba írja be a következő kódot:
Privát al CommandButton2_Click()
„nyilatkoztassa a kódokban használt változókat
Dim sht munkalapként, sht1 munkalapként, lastrow As Long'Adjon hozzá érvényesítéseket, hogy ellenőrizze, hogy a karakterértékek beírásra kerülnek-e a numerikus mezőkbe.
Ha VBA.IsNumeric (txtApplicationNo. Value) = False Akkor
MsgBox "Csak numerikus értékek fogadhatók el az alkalmazásszámban", vbCritical
Exit Sub
Vége HaHa VBA.IsNumeric (txtStudentID.Value) = False Akkor
MsgBox "Csak számértékek fogadhatók el a tanulói azonosítóban", vbCritical
Exit Sub
Vége HaHa VBA.IsNumeric (txtAge. Érték) = False Akkor
MsgBox "Csak numerikus értékek fogadhatók el az életkorban", vbCritical
Exit Sub
Vége HaHa VBA.IsNumeric (txtPhone. Érték) = False Akkor
MsgBox "Csak numerikus értékek fogadhatók el a telefonszámban", vbCritical
Exit Sub
Vége HaHa VBA.IsNumeric (Me.txtCourseID.Value) = hamis, akkor
MsgBox "A kurzusazonosítóban csak numerikus értékek fogadhatók el", vbCritical
Exit Sub
Vége Ha'kapcsolja össze a szövegdoboz mezőit a mögöttes lapokkal egy gördülő adatbázis létrehozásához
Set sht = Ez a munkafüzet. Táblázatok ("Hallgatói adatbázis")' számítsa ki mindkét munkalap utolsó kitöltött sorát
lastrow = sht. Tartomány("a" & sorok. Szám).Vége (xlUp).Sor + 1
'illessze be az egyes szövegmezők értékeit a megfelelő lapcellákba
sht-vel
.Tartomány("a" & lastrow).Érték = txtApplicationNo. Érték
.Tartomány("b" & lastrow).Érték = txtStudentID.Value
.Tartomány("c" & lastrow).Érték = txtName. Érték
.Tartomány("d" & lastrow).Érték = txtAge. Érték
.Tartomány("e" & lastrow).Érték = txtDOB.Érték
.Tartomány("g" & lastrow).Érték = txtAddress. Érték
.Tartomány("h" & lastrow).Érték = txtPhone. Érték
.Tartomány("i" & lastrow).Érték = txtCity. Érték
.Tartomány("j" & lastrow).Érték = txtOrszág. Érték
.Tartomány("k" & lastrow).Érték = txtZip. Érték
.Tartomány("l" & lastrow).Érték = txtNationality. Érték
.Tartomány("m" & lastrow).Érték = txtCourse. Érték
.Tartomány("n" & lastrow).Érték = txtCourseID.Value
.Tartomány("o" & lastrow).Value = txtenrollmentstart. Érték
.Tartomány("p" & lastrow).Érték = txtenrollmentend. Érték
.Tartomány("q" & lastrow).Érték = txtcourseduration. Érték
.Tartomány("r" & lastrow).Érték = txtDept. ÉrtékVége ezzel
sht. AktiváljaHatározza meg a nemet a felhasználó által megadott adatok alapján
Ha optMale. Érték = igaz Akkor sht. Tartomány("g" & lastrow).Érték = "Férfi"
Ha optNő. Érték = igaz Akkor sht. Tartomány("g" & lastrow).Érték = "Nő"
„Üzenetdoboz megjelenítése, ha a felhasználó az Igen választógombot választjaHa igen. Érték = Igaz Akkor
MsgBox "Kérjük, válassza ki a fizetési részleteket lent"
Más:
Exit SubVége Ha
Vége Sub
Ha nem biztos abban, hogy a kód részei vagy bármelyike mit jelent, ne aggódjon. A következő részben részletesen elmagyarázzuk.
Az automatizált űrlapkód magyarázata
A szövegmezők vegyesen tartalmaznak szöveget és számértéket, ezért elengedhetetlen, hogy korlátozzuk a felhasználó bevitelét. Az Pályázati szám, Diákigazolvány, Kor, Telefon, Tanfolyamazonosító, és Tanfolyam időtartama csak számokat kell tartalmaznia, míg a többi szöveget.
Egy HA utasítás esetén a kód hibaüzenetet vált ki, ha a felhasználó karaktert vagy szöveges értéket ír be valamelyik numerikus mezőbe.
Mivel a hibaellenőrzések megvannak, össze kell kapcsolnia a szövegdobozokat a lapcellákkal.
Az utolsó sor A változók kiszámítják az utoljára kitöltött sort, és eltárolják bennük az értékeket dinamikus használatra.
Végül a szövegmezőkből az értékek beillesztésre kerülnek a hivatkozott Excel-lapba.
Az űrlap és a kilépés gomb kódjainak törlése
Ban,-ben egyértelmű gombot, meg kell írnia a kódot, hogy törölje a meglévő értékeket a felhasználói űrlapról. Ezt a következő módon lehet megtenni:
Velem
.txtApplicationNo. Érték = ""
.txtStudentID.Value = ""
..txtName. Érték = ""
.txtAge. Érték = ""
.txtAddress. Érték = ""
.txtPhone. Érték = ""
.txtCity. Érték = ""
.txtCountry. Érték = ""
.txtDOB.Value = ""
.txtZip. Érték = ""
.txtNationality. Érték = ""
.txtCourse. Érték = ""
.txtCourseID.Value = ""
.txtenrollmentstart. Érték = ""
.txtenrollmentend. Érték = ""
.txtcourseduration. Érték = ""
.txtDept. Érték = ""
.cmbPaymentMode. Érték = ""
.cmbFizetés. Érték = ""
.optNő. Érték = hamis
.optMale. Érték = hamis
.optIgen. Érték = hamis
.optNo. Érték = hamis
Vége ezzel
Ban,-ben kijárat gombot, írja be a következő kódot a felhasználói űrlap bezárásához.
Privát al CommandButton5_Click()
Unload Me
Vége Sub
Utolsó lépésként be kell írnia néhány utolsó kódrészletet a kombinált mezők legördülő értékeinek létrehozásához (a fizetési kereteken belül).
Privát Sub UserForm_Activate()
cmbFizetéssel
.Egyértelmű
.AddItem ""
.AddItem "Igen"
.AddItem "Nem"
Vége ezzel
cmbPaymentMode segítségével
.Egyértelmű
.AddItem ""
.AddItem "Készpénz"
.AddItem "Kártya"
.AddItem "Check"
Vége ezzel
Vége Sub
A VBA automatizálás megkönnyíti a munkát
A VBA egy sokoldalú nyelv, amely számos célt szolgál. A felhasználói űrlapok csak az egyik szempont a VBA-n belül – számos más felhasználási terület is létezik, például munkafüzetek és munkalapok összevonása, több Excel munkalap egyesítése és egyéb praktikus automatizálási alkalmazások.
Az automatizálási céltól függetlenül a VBA megfelel a feladatnak. Ha folyamatosan tanulsz és gyakorolsz, a munkafolyamatnak nincs olyan része, amelyet ne tudnál javítani.
Egynél több Excel-lap adatainak egyesítése ugyanabban a munkafüzetben igazi probléma... amíg nem használ VBA makrókat.
Olvassa el a következőt
- Programozás
- Termelékenység
- Visual Basic programozás
- Microsoft Excel
Gaurav Siyal két éves írási tapasztalattal rendelkezik, számos digitális marketingcégnek ír és szoftver-életciklus-dokumentumokat írt.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!
Kattintson ide az előfizetéshez