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. 1. lap: Itthon
  2. 2. lap:Hallgatói adatbázis
instagram viewer

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 Ha

Ha 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 Ha

Ha VBA.IsNumeric (txtAge. Érték) = False Akkor
MsgBox "Csak numerikus értékek fogadhatók el az életkorban", vbCritical
Exit Sub
Vége Ha

Ha VBA.IsNumeric (txtPhone. Érték) = False Akkor
MsgBox "Csak numerikus értékek fogadhatók el a telefonszámban", vbCritical
Exit Sub
Vége Ha

Ha 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ék

Vége ezzel
sht. Aktiválja

Hatá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álasztja

Ha igen. Érték = Igaz Akkor
MsgBox "Kérjük, válassza ki a fizetési részleteket lent"
Más:
Exit Sub

Vé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.

Több Excel munkalap egyesítése VBA makró használatával

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

RészvényCsipogEmail
Kapcsolódó témák
  • Programozás
  • Termelékenység
  • Visual Basic programozás
  • Microsoft Excel
A szerzőről
Gaurav Siyal (50 publikált cikk)

Gaurav Siyal két éves írási tapasztalattal rendelkezik, számos digitális marketingcégnek ír és szoftver-életciklus-dokumentumokat írt.

Továbbiak Gaurav Siyaltól

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