Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Naudodami VBA formas galite bet kuriuo metu kurti ir tvarkyti formas pagal jūsų poreikius. Su Download.vn išmokime sukurti automatines duomenų įvedimo formas programoje Excel VBA !

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Sukurkite vartotojo formą naudodami Excel VBA

Atidarykite naują „Excel“ darbaknygę ir atlikite kelis parengiamuosius veiksmus prieš pradėdami kurti duomenų įvedimo formą.

Išsaugokite darbaknygę norimu pavadinimu, nepamirškite pakeisti failo tipo į Excel Macro-Enabled Workbook.

Prie šios darbaknygės pridėkite 2 lapus tokiais pavadinimais:

  1. 1 lapas : Pagrindinis puslapis
  2. 2 lapas : Studentų duomenų bazė

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Žinoma, galite keisti jų vardus, kaip norite.

Pagrindiniame lape pridėkite vartotojo formos makrokomandos valdymo mygtuką. Eikite į skirtuką Kūrėjas > spustelėkite mygtuką išskleidžiamajame sąraše Įterpti . Įdėkite šį mygtuką bet kurioje skaičiuoklės vietoje.

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Įdėję mygtuką, pervardykite jį. Dešiniuoju pelės mygtuku spustelėkite jį > spustelėkite Naujas , kad pridėtumėte makrokomandą, kurioje pateikiama forma.

Įveskite šį kodą redaktoriaus lange:

Sub Button1_Click()
UserForm.Show
End Sub

Kai pagrindinis lapas ir mokinių duomenų bazė yra paruošti, laikas sukurti vartotojo formą. Eikite į skirtuką Kūrėjas > spustelėkite Visual Basic , kad atidarytumėte redaktorių . Arba galite paspausti ALT+F11 , kad atidarytumėte redaktoriaus langą.

Spustelėkite skirtuką Įterpti ir pasirinkite UserForm . Vartotojo forma paruošta naudoti. Su šia forma atidaroma pridedama įrankių rinkinys, kuriame yra visi maketui sukurti reikalingi įrankiai.

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Šioje įrankių juostoje pasirinkite Rėmas . Vilkite jį į vartotojo formą ir pakeiskite jos dydį.

Skiltyje (vardas) galite pakeisti šio rėmelio pavadinimą. Jei norite, kad vardas būtų rodomas priekinėje dalyje, galite pakeisti pavadinimą stulpelyje Antraštė .

Tada įrankių rinkinyje pasirinkite Etiketė ir įdėkite 2 lipdukus į šį laukelį. Pervardykite vardą į Paraiškos numeris , o antrąjį - į Studento ID .

Taikykite tą patį pervadinimo procesą naudodami antraštę ypatybėse . Prieš pervadindami būtinai pasirinkite atitinkamą etiketę.

Tada į lipduko laukelį įterpkite 2 teksto laukelius. Jie bus naudojami vartotojų įvestims užfiksuoti. Pakeiskite 2 teksto laukelių pavadinimus naudodami stulpelį (Vardas) ypatybėse taip:

  • 1 teksto laukelis : txtApplicationNo
  • 2 teksto laukelis : txtStudentID

Studentų informacinės sistemos kūrimas

Įdėkite vertikalų rėmelį ir pridėkite 10 etikečių ir 10 teksto laukelių. Pervardykite etiketę taip:

  • 3 etiketė : vardas
  • 4 etiketė : Amžius
  • 5 etiketė : adresas
  • 6 etiketė : Telefonas
  • Etiketė 7 : miestas
  • Etiketė 8 : Šalis
  • Etiketė 9 : Gimimo data
  • 10 etiketė : Pašto kodas
  • Etiketė 11 : Tautybė
  • 12 etiketė : lytis

Įterpkite atitinkamą teksto laukelį šalia šių etikečių, įterpdami iš dviejų parinkčių mygtukų laukelių iš vartotojo formos įrankių rinkinio šalia lyties etiketės. Pakeiskite jų vardus atitinkamai į Vyras ir Moteris (su tinkintu).

Sukurkite išsamią kurso struktūrą

Pridėkite kitą rėmelį vertikaliai ir įklijuokite 6 lipdukus, 6 teksto laukelius, atitinkančius kiekvieną etiketę. Pervardykite lipduką taip:

  • 13 etiketė : kurso pavadinimas
  • 14 etiketė : kurso ID
  • 15 etiketė : registracijos pradžios data
  • 16 etiketė : registracijos pabaigos data
  • Label17 : Kurso trukmė
  • Etiketė 18 : skyrius

Sukurkite mokėjimo detalių rėmelį

Įdėkite naują rėmelį, pridėkite naują etiketę ir pervardykite „Ar norite atnaujinti mokėjimo informaciją? Įdėkite 2 parinkčių mygtukus ; pervardykite juos į Taip ir Ne .

Panašiai pridėkite naują rėmelį, kuriame yra 2 papildomos etiketės ir 2 kombinuoti langeliai. Pervardykite etiketę taip:

  • 19 etiketė : mokėjimas gautas
  • Label20 : mokėjimo būdas

Navigacinės lentos dizainas

Paskutiniame kadre pridėkite 3 mygtukus iš įrankių rinkinio su kodu formoms įdiegti. Pervardykite mygtukus taip:

  • 1 mygtukas : Išsaugokite išsamią informaciją
  • 2 mygtukas : aiški forma
  • 3 mygtukas : išeiti

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Įrašykite automatinės formos kodą: mygtukas informacijai išsaugoti

Dukart spustelėkite mygtuką Išsaugoti informaciją . Kitame modulyje įveskite šį kodą:

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

Kodo paaiškinimas automatizuota forma:

Teksto laukeliuose yra teksto ir skaitinių reikšmių, todėl turite apriboti vartotojo įvestį. Paraiškos numeris, studento ID, amžius, telefonas, kurso ID ir kurso trukmė bus tik skaičiai, likusioje dalyje bus tekstas.

Naudojant komandą IF , kodas suaktyvina klaidos iššokantįjį langą, jei vartotojas įveda simbolį arba teksto reikšmę bet kuriame skaitiniame lauke.

Kadangi yra klaidų tikrinimas, turite susieti teksto laukelius su darbalapio langeliais.

Paskutinės eilutės kintamieji apskaičiuoja paskutinę užpildytą eilutę ir išsaugo vertę viduje, kad būtų galima lanksčiai naudoti.

Galiausiai šios reikšmės įklijuojamos į susieto „Excel“ lapo teksto laukelį.

Išvalykite formą ir užkoduokite išėjimo mygtuką

Išvalymo mygtuke turite parašyti kodą, kuris išvalys dabartines reikšmes iš vartotojo formos taip :

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

Išėjimo mygtuke įveskite šį kodą vartotojo formoje:

Private Sub CommandButton5_Click()
Unload Me
End Sub

Paskutiniame veiksme turite įvesti kelias paskutines kodo dalis, kad sukurtumėte išskleidžiamojo sąrašo reikšmes kombinuotajam laukeliui (atsiskaitymo rėmelyje).

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

Aukščiau aprašyta, kaip sukurti automatinio duomenų įvedimo formą programoje Excel VBA . Tikimės, kad straipsnis jums bus naudingas.


Instrukcijos, kaip naudoti ABS funkciją apskaičiuojant absoliučią vertę programoje „Excel“.

Instrukcijos, kaip naudoti ABS funkciją apskaičiuojant absoliučią vertę programoje „Excel“.

Instrukcijos, kaip naudoti ABS funkciją apskaičiuojant absoliučią reikšmę programoje „Excel“ Funkcija ABS naudojama absoliučiai skaičiaus ar skaičiavimo vertei apskaičiuoti. Naudoti ABS funkciją yra gana paprasta

Instrukcijos, kaip „Excel“ parašyti viršutinį ir apatinį indeksą

Instrukcijos, kaip „Excel“ parašyti viršutinį ir apatinį indeksą

Instrukcijos, kaip rašyti viršutinį ir apatinį indeksą „Excel“. Dažnai tenka redaguoti matematines formules programoje „Excel“, bet kyla sunkumų su išraiškomis.

Kaip sunumeruoti puslapius nepradedant nuo 1 programoje Excel

Kaip sunumeruoti puslapius nepradedant nuo 1 programoje Excel

Kaip sunumeruoti puslapius nepradedant nuo 1 „Excel“ programoje gana paprasta numeruoti puslapius, tačiau sunku numeruoti puslapius, pradedant nuo kito skaičiaus nei 1.

Pakartotinių pavadinimų spausdinimo programoje „Excel“ instrukcijos

Pakartotinių pavadinimų spausdinimo programoje „Excel“ instrukcijos

Pakartotinio pavadinimų spausdinimo programoje „Excel“ instrukcijos. „Excel“ lentelėse, kuriose yra daug spausdintų puslapių, žmonės dažnai nustato pakartotinį pavadinimų spausdinimą, kad būtų išvengta painiavos su skaičiuokle.

Kaip naudoti „Excel“ skaičiavimo, „Counta“, „Countif“, „Countifs“ skaičiavimo funkcijas

Kaip naudoti „Excel“ skaičiavimo, „Counta“, „Countif“, „Countifs“ skaičiavimo funkcijas

Kaip Excel programoje naudotis skaičiavimo funkcijomis Count, Counta, Countif, Countifs Skaičiavimo funkcijos Excel yra skirstomos į daugybę tipų, daugumą šių funkcijų labai paprasta naudoti skaičiuojant.

Kaip naudoti „Microsoft Excel“ geografijos funkciją

Kaip naudoti „Microsoft Excel“ geografijos funkciją

Kaip naudoti „Microsoft Excel“ geografijos funkciją, naudodami „Geography“ galite pasiekti geografinius duomenis „Excel“ skaičiuoklėje. Toliau nurodyta, kaip naudoti geografijos funkciją

Kaip apskaičiuoti procentą Excel

Kaip apskaičiuoti procentą Excel

Kaip apskaičiuoti procentus „Excel“, „Microsoft Excel“ siūlo daugybę skirtingų procentų skaičiavimo būdų. Išmokime su WebTech360 apskaičiuoti procentus programoje Excel

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Kaip sukurti automatinio duomenų įvedimo formą Excel VBA

Kaip sukurti automatinio duomenų įvedimo formą programoje „Excel VBA“, naudojant formas VBA, galite sukurti ir tvarkyti formas pagal bet kokius poreikius.

Kaip sukurti krioklio diagramą „Excel“.

Kaip sukurti krioklio diagramą „Excel“.

Kaip sukurti krioklio diagramą programoje Excel, krioklio diagramos naudojamos tarpinių sumų svyravimams programoje Excel iliustruoti. Sužinokime, kaip kurti diagramas naudojant WebTech360

Instrukcijos, kaip paslėpti eilutes ir stulpelius programoje „Excel“.

Instrukcijos, kaip paslėpti eilutes ir stulpelius programoje „Excel“.

Instrukcijos, kaip paslėpti eilutes ir stulpelius programoje „Excel“. Kartais „Excel“ failas yra per ilgas ir jūs norite paslėpti nenaudojamas dalis arba dėl kokių nors priežasčių nenorite jo rodyti kitiems.