Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

A VBA-ban az űrlapok használatával egy üres vászon bármikor megtervezheti és elrendezheti az igényeinek megfelelő űrlapokat. Tanuljuk meg a Download.vn segítségével , hogyan készítsünk automatikus adatbeviteli űrlapokat Excel VBA- ban !

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Hozzon létre egy felhasználói űrlapot az Excel VBA segítségével

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éven, ne felejtse el módosítani a fájltípust Excel Macro-Enabled Workbook-ra.

Adjon hozzá 2 lapot ehhez a munkafüzethez a következő nevekkel:

  1. 1. lap: Kezdőlap
  2. 2. lap : Hallgatói adatbázis

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Természetesen tetszés szerint megváltoztathatja a nevüket.

A Kezdőlapon adjon hozzá egy felhasználói űrlap makróvezérlő gombot. Lépjen a Fejlesztő lapra , majd kattintson a Gombra a Beszúrás legördülő listából . Helyezze ezt a gombot bárhová a táblázatban.

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

A gomb elhelyezése után nevezze át. Kattintson rá jobb gombbal, majd kattintson az Új lehetőségre az űrlapot megjelenítő makró csatolásához.

Írja be a következő kódot a szerkesztő ablakba:

Sub Button1_Click()
UserForm.Show
End Sub

A Kezdőlap és a Tanulói adatbázis készenlétével ideje megtervezni a felhasználói űrlapot. Lépjen a Fejlesztő lapra , majd kattintson a Visual Basic elemre a Szerkesztő megnyitásához . Alternatív megoldásként lenyomhatja az ALT+F11 billentyűkombinációt a szerkesztőablak megnyitásához.

Kattintson a Beszúrás fülre , és válassza a UserForm lehetőséget . A felhasználói űrlap használatra kész. Ezzel az űrlappal megnyílik egy mellékelt eszköztár, amely az elrendezés megtervezéséhez szükséges összes eszközt tartalmazza.

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Ebből az eszköztárból válassza a Keret lehetőséget . Húzza a felhasználói űrlapra, és méretezze át.

A (név) mezőben módosíthatja ennek a keretnek a nevét. A név megjelenítéséhez a kezelőfelületen módosíthatja a nevet a Felirat oszlopban .

Ezután válassza ki a Címke elemet az eszköztárból, és helyezzen be 2 matricát ebbe a mezőbe. Nevezze át az első nevet Pályázati számra , a második nevet pedig Diákazonosítóra .

Alkalmazza ugyanazt az átnevezési folyamatot a Tulajdonságok Felirata segítségével . Az átnevezés előtt feltétlenül válassza ki a megfelelő címkét.

Ezután szúrjon be 2 szövegmezőt a matrica mezőbe. Ezeket a felhasználói bemenetek rögzítésére fogják használni. Módosítsa a 2 szövegmező nevét a Tulajdonságok (Név) oszlopában az alábbiak szerint:

  • Textbox1 : txtApplicationNo
  • Textbox2 : txtStudentID

Tanulói információs keretrendszer kialakítása

Szúrjon be egy függőleges keretet, és adjon hozzá 10 címkét és 10 szövegdobozt. Nevezze át a címkét a következőképpen:

  • Címke 3 : Név
  • Címke4 : Életkor
  • 5. címke : Cím
  • Label6 : Telefon
  • 7. címke : Város
  • Label8 : Ország
  • 9. címke : Születési dátum
  • Label10 : Irányítószám
  • Label11 : Állampolgárság
  • Label12 : Nem

Illessze be a megfelelő szövegmezőt ezekhez a címkékhez, és illessze be a felhasználói űrlap eszköztárának két opciógomb dobozából a nemi címke mellé. Módosítsa a nevüket Férfira és Nőre (egyénileg).

Tervezze meg a tanfolyam részletes keretét

Adjon hozzá egy másik keretet függőlegesen, és helyezzen be 6 matricát, 6 szövegmezőt az egyes címkéknek megfelelően. Nevezze át a matricát a következőképpen:

  • Label13 : Kurzus neve
  • Label14 : Tanfolyamazonosító
  • Label15 : A beiratkozás kezdő dátuma
  • Label16 : A beiratkozás befejezésének dátuma
  • Label17 : A tanfolyam időtartama
  • Label18 : Osztály

Tervezze meg a fizetési részlet keretet

Helyezzen be egy új keretet, adjon hozzá új címkét, és nevezze át "Szeretné frissíteni a fizetési adatokat?" Helyezzen be 2 opciógombot ; nevezze át őket Igen és Nem névre .

Hasonló módon adjon hozzá egy új keretet, amely 2 további címkét és 2 kombinált mezőt tartalmaz. Nevezze át a címkét a következőképpen:

  • Label19 : Fizetés érkezett
  • Label20 : Fizetési mód

Navigációs tábla kialakítása

Az utolsó keretben adjon hozzá 3 gombot az eszköztárból, amelyek kódot tartalmaznak az űrlapok telepítéséhez. Nevezze át a gombokat a következőképpen:

  • 1. gomb : Részletek mentése
  • 2. gomb : Tiszta forma
  • 3. gomb : Kilépés

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Automatikus űrlapkód beírása: Gomb az információk mentéséhez

Kattintson duplán a Részletek mentése gombra . A következő modulba írja be a következő kódot:

Private Sub CommandButton2_Click()

‘declare the variables used throughout the codes
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Long

'Add validations to check if character values are being entered in numeric fields.
If VBA.IsNumeric(txtApplicationNo.Value) = False Then
MsgBox "Only numeric values are accepted in the Application Number", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtStudentID.Value) = False Then
MsgBox "Only numeric values are accepted in the Student ID", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtAge.Value) = False Then
MsgBox "Only numeric values are accepted in Age", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtPhone.Value) = False Then
MsgBox "Only numeric values are accepted in Phone Number", vbCritical
Exit Sub
End If

If VBA.IsNumeric(Me.txtCourseID.Value) = False Then
MsgBox "Only numeric values are accepted in Course ID", vbCritical
Exit Sub
End If

'link the text box fields with the underlying sheets to create a rolling database
Set sht = ThisWorkbook.Sheets("Student Database")

'calculate last populated row in both sheets

lastrow = sht.Range("a" & Rows.Count).End(xlUp).Row + 1

'paste the values of each textbox into their respective sheet cells

With sht
.Range("a" & lastrow).Value = txtApplicationNo.Value
.Range("b" & lastrow).Value = txtStudentID.Value
.Range("c" & lastrow).Value = txtName.Value
.Range("d" & lastrow).Value = txtAge.Value
.Range("e" & lastrow).Value = txtDOB.Value
.Range("g" & lastrow).Value = txtAddress.Value
.Range("h" & lastrow).Value = txtPhone.Value
.Range("i" & lastrow).Value = txtCity.Value
.Range("j" & lastrow).Value = txtCountry.Value
.Range("k" & lastrow).Value = txtZip.Value
.Range("l" & lastrow).Value = txtNationality.Value
.Range("m" & lastrow).Value = txtCourse.Value
.Range("n" & lastrow).Value = txtCourseID.Value
.Range("o" & lastrow).Value = txtenrollmentstart.Value
.Range("p" & lastrow).Value = txtenrollmentend.Value
.Range("q" & lastrow).Value = txtcourseduration.Value
.Range("r" & lastrow).Value = txtDept.Value

End With
sht.Activate

'determine gender as per user's input
If optMale.Value = True Then sht.Range("g" & lastrow).Value = "Male"
If optFemale.Value = True Then sht.Range("g" & lastrow).Value = "Female"
'Display a message box, in case the user selects the Yes radio button

If optYes.Value = True Then
MsgBox "Please select the payment details below"
Else:
Exit Sub

End If

End Sub

A kód magyarázata automatizált formában:

A szövegdobozok szöveges és számértékeket tartalmaznak, ezért korlátoznia kell a felhasználói bevitelt. A jelentkezési szám, a hallgatói azonosító, az életkor, a telefonszám, a kurzusazonosító és a tanfolyam időtartama csak számokat tartalmaz, a többi szöveget.

Az IF parancs használatával a kód hibaüzenetet vált ki, ha a felhasználó karaktert vagy szöveges értéket ír be bármely numerikus mezőbe.

Mivel létezik hibaellenőrzés, a szövegmezőket a munkalap celláihoz kell kapcsolnia.

Az utolsó sor változói kiszámítják az utoljára kitöltött sort, és eltárolják az értéket a rugalmas használat érdekében.

Végül ezeket az értékeket a program beilleszti a hivatkozott Excel-lap szövegmezőjébe.

Kódolja ki az űrlapot, és törölje a kilépés gombot

A törlés gombra kell írnia egy kódot, amely törli az aktuális értékeket a felhasználó űrlapjáról az alábbiak szerint:

With Me
.txtApplicationNo.Value = ""
.txtStudentID.Value = ""
..txtName.Value = ""
.txtAge.Value = ""
.txtAddress.Value = ""
.txtPhone.Value = ""
.txtCity.Value = ""
.txtCountry.Value = ""
.txtDOB.Value = ""
.txtZip.Value = ""
.txtNationality.Value = ""
.txtCourse.Value = ""
.txtCourseID.Value = ""
.txtenrollmentstart.Value = ""
.txtenrollmentend.Value = ""
.txtcourseduration.Value = ""
.txtDept.Value = ""
.cmbPaymentMode.Value = ""
.cmbPayment.Value = ""
.optFemale.Value = False
.optMale.Value = False
.optYes.Value = False
.optNo.Value = False

End With

A kilépés gombon írja be a következő kódot a felhasználói űrlapon:

Private Sub CommandButton5_Click()
Unload Me
End Sub

Az utolsó lépésben meg kell adnia az utolsó néhány kódrészletet, hogy létrehozza a legördülő listát a kombinált mezőhöz (a pénztári keretben).

Private Sub UserForm_Activate()

With cmbPayment
.Clear
.AddItem ""
.AddItem "Yes"
.AddItem "No"
End With
With cmbPaymentMode

.Clear
.AddItem ""
.AddItem "Cash"
.AddItem "Card"
.AddItem "Check"
End With
End Sub

A fentiekben bemutatjuk, hogyan hozhat létre automatikus adatbeviteli űrlapot az Excel VBA-ban . Reméljük, hogy a cikk hasznos az Ön számára.


Utasítások az ABS függvény használatával az abszolút érték kiszámításához Excelben

Utasítások az ABS függvény használatával az abszolút érték kiszámításához Excelben

Útmutató az ABS függvény használatához az abszolút érték kiszámításához Excelben Az ABS függvény egy szám vagy számítás abszolút értékének kiszámítására szolgál. Az ABS funkció használata meglehetősen egyszerű

Útmutató a felső és az alsó index írásához az Excelben

Útmutató a felső és az alsó index írásához az Excelben

Útmutató a felső és alsó index írásához az Excelben. Gyakran kell matematikai képleteket szerkeszteni az Excelben, de nehézségei vannak a kifejezésekkel.

Hogyan számozhat oldalakat anélkül, hogy 1-től kezdené az Excelben

Hogyan számozhat oldalakat anélkül, hogy 1-től kezdené az Excelben

Az oldalak számozása anélkül, hogy 1-től kezdené el Excelben. Az oldalak számozása az Excelben meglehetősen egyszerű, de az 1-től eltérő számmal kezdődő oldalakat nehéz.

Utasítások ismétlődő címek Excelben történő nyomtatásához

Utasítások ismétlődő címek Excelben történő nyomtatásához

Útmutató címek ismételt nyomtatásához Excelben. A sok nyomtatott oldalt tartalmazó Excel-táblázatok esetében az emberek gyakran állítják be a címek ismételt nyomtatását, hogy elkerüljék a táblázattal való összetévesztést.

A Count, Counta, Countif, Countifs számláló függvények használata az Excelben

A Count, Counta, Countif, Countifs számláló függvények használata az Excelben

A Count, Counta, Countif, Countifs számláló függvények használata Excelben Az Excel számláló függvényei sokféle típusra oszthatók, ezeknek a függvényeknek a többsége nagyon könnyen használható számláláshoz.

A Földrajz funkció használata a Microsoft Excelben

A Földrajz funkció használata a Microsoft Excelben

A Földrajz funkció használata a Microsoft Excelben: A Földrajz segítségével elérheti a földrajzi adatokat egy Excel-táblázatban. Az alábbiakban bemutatjuk, hogyan kell használni a Földrajz funkciót

Hogyan kell kiszámítani a százalékot Excelben

Hogyan kell kiszámítani a százalékot Excelben

A százalékok kiszámítása az Excelben, a Microsoft Excel számos különféle módszert kínál a százalékok kiszámítására. Tanuljuk meg a WebTech360 segítségével a százalékok kiszámítását Excelben

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Automatikus adatbeviteli űrlap létrehozása Excel VBA-ban

Automatikus adatbeviteli űrlap létrehozása az Excel VBA-ban: Az űrlapok VBA-ban használata egy üres vásznat biztosít az űrlapok megtervezéséhez és elrendezéséhez, hogy megfeleljen az igényeknek

Hogyan készítsünk vízesés diagramot Excelben

Hogyan készítsünk vízesés diagramot Excelben

Hogyan készítsünk vízesés-diagramot az Excelben? A vízesés-diagramok az Excel részösszegek ingadozásának szemléltetésére szolgálnak. Tanuljuk meg, hogyan hozhat létre diagramokat a WebTech360 segítségével

Útmutató a sorok és oszlopok elrejtéséhez az Excelben

Útmutató a sorok és oszlopok elrejtéséhez az Excelben

Útmutató a sorok és oszlopok elrejtéséhez az Excelben Néha az Excel-fájl túl hosszú, és el akarja rejteni a nem használt részeket, vagy valamilyen oknál fogva nem akarja megmutatni másoknak.