Visual Basic je izvrstan jezik za automatizaciju zadataka koji se ponavljaju u Excelu. Zamislite da svoju automatizaciju podignete na viši nivo stvaranjem vrlo funkcionalnih korisničkih obrazaca koji također izgledaju uredno krajnjim korisnicima.

Korisnički obrasci u VBA predstavljaju vam prazno platno; možete dizajnirati i organizirati obrasce kako bi odgovarali vašim potrebama u bilo kojem trenutku.

U ovom vodiču naučit ćete stvoriti obrazac za unos podataka koji se temelji na studentima koji bilježi relevantne informacije u povezanim Excel listovima.

Izrada korisničkog obrasca s Excel VBA

Otvorite novu radnu knjigu programa Excel i izvršite nekoliko preliminarnih koraka prije nego počnete stvarati obrazac za unos podataka.

Spremite svoju radnu bilježnicu pod željenim nazivom; ne zaboravite promijeniti vrstu datoteke u an Radna knjiga s omogućenim makronaredbama Excel.

Povezano:Web-mjesta i blogovi za učenje Excel savjeta i trikova

Dodajte dva lista ovoj radnoj knjizi sa sljedećim nazivima:

instagram viewer
  1. List 1: Dom
  2. List 2:Studentska baza podataka

Slobodno promijenite ove nazive prema vašim zahtjevima.

U Dom list, dodajte gumb za upravljanje makronaredbom korisničkog obrasca. Idite na Programer karticu i kliknite na Dugme opcija iz Umetnuti padajući popis. Postavite gumb bilo gdje na listu.

Nakon što postavite gumb, preimenujte ga. Desnom tipkom miša kliknite na njega i kliknite na Novi da biste dodijelili novu makronaredbu za prikaz obrasca.

Unesite sljedeći kod u prozor uređivača:

Podgumb1_Klik()
Korisnički obrazac. Pokazati
Kraj Sub

Jednom Dom i Studentska baza podataka listovi su spremni, vrijeme je za dizajn korisničkog obrasca. Idite na Programer karticu i kliknite na Visual Basic za otvaranje uređivača. Alternativno, možete pritisnuti ALT+F11 za otvaranje prozora uređivača.

Klikni na Umetnuti karticu i odaberite Korisnički obrazac.

Prazan korisnički obrazac spreman je za korištenje; zajedno s formom otvara se prateći alatni okvir koji ima sve bitne alate za dizajniranje izgleda.

Iz okvira s alatima odaberite Okvir opcija. Povucite ovo na korisnički obrazac i promijenite mu veličinu.

U (Ime) opciju, možete promijeniti naziv okvira. Da biste prikazali ime na prednjem dijelu, možete promijeniti naziv u Naslov stupac.

Zatim odaberite Označiti opciju iz okvira s alatima i umetnite dvije oznake unutar ovog okvira. Preimenujte prvu kao Broj prijave a drugi kao studentska iskaznica.

Primjenjuje se ista logika preimenovanja; promijenite imena putem Naslov opcija unutar Svojstva prozor. Provjerite jeste li odabrali odgovarajuću oznaku prije nego promijenite njezin naziv.

Zatim umetnite dva tekstualna okvira pored okvira s oznakama. Oni će se koristiti za hvatanje unosa korisnika. Promijenite nazive dvaju tekstualnih okvira putem (Ime) stupac unutar Svojstva prozor. Imena su sljedeća:

  • Tekstualni okvir1: txtApplicationNo
  • Tekstualni okvir 2: txtID studenta

Dizajniranje okvira s detaljima učenika

Umetnite okomiti okvir i dodajte 10 naljepnica i 10 tekstualnih okvira. Preimenujte svaki od njih na sljedeći način:

  • Oznaka 3: Ime
  • Oznaka 4: Dob
  • Oznaka 5: Adresa
  • Oznaka 6: Telefon
  • Oznaka 7: Grad
  • Oznaka 8: Zemlja
  • Oznaka 9: Datum rođenja
  • Oznaka 10: Poštanski broj
  • Oznaka 11: Nacionalnost
  • Oznaka 12: Spol

Umetnite odgovarajuće tekstualne okvire pored ovih oznaka; umetnuti dva (ili više) gumb opcija okvire iz alatnog okvira korisničkog obrasca pored rodu označiti. Preimenujte ih Muški i Žena (zajedno s Custom).

Dizajniranje okvira pojedinosti tečaja

Dodajte još jedan okomiti okvir i umetnite šest oznaka i šest tekstualnih okvira koji odgovaraju svakoj naljepnici. Preimenujte oznake na sljedeći način:

  • Oznaka 13: Naziv kolegija
  • Oznaka 14: ID tečaja
  • Oznaka 15: Datum početka upisa
  • Oznaka 16: Datum završetka upisa
  • Oznaka 17: Trajanje tečaja
  • Oznaka 18: odjela

Povezano: 4 pogreške koje treba izbjegavati pri programiranju Excel makronaredbi s VBA

Dizajniranje okvira s podacima o plaćanju

Umetnite novi okvir; dodajte novu oznaku i preimenujte je u "Želite li ažurirati podatke o plaćanju?" Umetnite dva gumbi s opcijama; preimenovati ih Da i Ne.

Slično tome, dodajte novi okvir koji sadrži dvije dodatne oznake i dva kombinirana okvira. Preimenujte oznake na sljedeći način:

  • Oznaka 19: Primljena uplata
  • Oznaka 20: Nacin placanja

Dizajniranje navigacijskog okna

U završnom okviru dodajte tri gumba iz okvira s alatima koji će sadržavati kod za izvršavanje obrazaca.

Preimenujte gumbe na sljedeći način:

  • Gumb 1: Spremi detalje
  • Gumb 2: Jasni obrazac
  • Gumb 3: Izlaz

Pisanje koda automatiziranog obrasca: gumb za spremanje pojedinosti

Dvaput kliknite na Spremi detalje dugme. U modul koji slijedi unesite sljedeći kod:

Privatna podnaredbaButton2_Klik()

'deklarirati varijable koje se koriste u kodovima
Dim sht Kao radni list, sht1 Kao radni list, lastrow Dokle god

'Dodajte provjere kako biste provjerili unose li se vrijednosti znakova u numerička polja.
Ako je VBA.IsNumeric (txtApplicationNo. Value) = False onda
MsgBox "U aplikacijskom broju prihvaćaju se samo numeričke vrijednosti", vbCritical
Izlaz pod
Završi ako

Ako je VBA.IsNumeric (txtStudentID.Value) = False Onda
MsgBox "U Student ID-ju se prihvaćaju samo numeričke vrijednosti", vbCritical
Izlaz pod
Završi ako

Ako je VBA.IsNumeric (txtAge. Vrijednost) = False Tada
MsgBox "U dobi se prihvaćaju samo numeričke vrijednosti", vbKritično
Izlaz pod
Završi ako

Ako je VBA.IsNumeric (txtPhone. Vrijednost) = False Tada
MsgBox "U telefonskom broju prihvaćaju se samo numeričke vrijednosti", vbKritično
Izlaz pod
Završi ako

Ako je VBA.IsNumeric (Me.txtCourseID.Value) = False onda
MsgBox "U ID-u tečaja prihvaćaju se samo numeričke vrijednosti", vbCritical
Izlaz pod
Završi ako

'povežite polja tekstualnog okvira s temeljnim listovima kako biste stvorili pokretnu bazu podataka
Postavite sht = Ova radna knjiga. Tablice ("Učenička baza podataka")

'izračunaj zadnji popunjeni red u oba lista

posljednji = sht. Raspon ("a" i redovi. Count).Kraj (xlUp).Red +1

'zalijepite vrijednosti svakog okvira za tekst u odgovarajuće ćelije lista

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

Završi s
sht. Aktivirati

'odredite spol prema unosu korisnika
Ako optMale. Vrijednost = True Onda sht. Raspon("g" & lastrow).Vrijednost = "Muški"
Ako optŽena. Vrijednost = True Onda sht. Raspon("g" & lastrow).Vrijednost = "Ženski"
'Prikaži okvir s porukom, u slučaju da korisnik odabere radio gumb Da

Ako optDa. Vrijednost = True Tada
MsgBox "Molimo odaberite detalje plaćanja u nastavku"
Drugo:
Izlaz pod

Završi ako

Kraj Sub

Ako niste sigurni koji dijelovi ili bilo koji od kodova znače, ne brinite. To ćemo detaljno objasniti u sljedećem odjeljku.

Objašnjenje koda automatiziranog obrasca

Tekstualni okviri sadržavat će mješavinu tekstualnih i brojčanih vrijednosti, stoga je bitno ograničiti unos korisnika. The Broj prijave, studentska iskaznica, Dob, Telefon, ID tečaja, i Trajanje tečaja treba sadržavati samo brojeve, dok će ostatak sadržavati tekst.

Korištenje an AKO Izjava, kod pokreće skočne prozore s pogreškama ako korisnik unese znak ili tekstualnu vrijednost u bilo koje od brojčanih polja.

Budući da su provjere pogreške na mjestu, morate povezati tekstualne okvire sa ćelijama lista.

The posljednji varijable će izračunati zadnji popunjeni redak i pohraniti vrijednosti u njih za dinamičku upotrebu.

Konačno, vrijednosti se lijepe iz tekstualnih okvira u povezani Excel list.

Brisanje kodova obrasca i gumba za izlaz

U čisto gumb, trebate napisati kod kako biste izbrisali postojeće vrijednosti iz korisničkog obrasca. To se može učiniti na sljedeći način:

Sa mnom
.txtApplicationNo Vrijednost = ""
.txtStudentID.Value = ""
..txtName. Vrijednost = ""
.txtAge. Vrijednost = ""
.txtAddress. Vrijednost = ""
.txtPhone. Vrijednost = ""
.txtCity. Vrijednost = ""
.txtCountry. Vrijednost = ""
.txtDOB.Value = ""
.txtZip. Vrijednost = ""
.txtNacionalnost. Vrijednost = ""
.txtCourse. Vrijednost = ""
.txtCourseID.Value = ""
.txtenrollmentstart. Vrijednost = ""
.txtenrollmentend. Vrijednost = ""
.txtcourseduration. Vrijednost = ""
.txtDept Vrijednost = ""
.cmbPaymentMode. Vrijednost = ""
.cmbPlaćanje. Vrijednost = ""
.optŽenski. Vrijednost = Netočno
.optMale. Vrijednost = Netočno
.optDa. Vrijednost = Netočno
.optNo. Vrijednost = Netočno

Završi s

U Izlaz gumb, unesite sljedeći kod da zatvorite korisnički obrazac.

Privatni podnaredbeni gumb5_Klik()
Iskrcaj me
Kraj Sub

Kao posljednji korak, trebate unijeti nekoliko konačnih dijelova koda kako biste stvorili padajuće vrijednosti za kombinirane okvire (unutar okvira plaćanja).

Privatni podkorisnički obrazac_Aktiviraj()

Uz cmb Plaćanje
.Čisto
.Dodaj Predmet ""
.AddItem "Da"
.AddItem "Ne"
Završi s
Uz cmbPaymentMode

.Čisto
.Dodaj Predmet ""
.AddItem "Gotovina"
.AddItem "Card"
.AddItem "Check"
Završi s
Kraj Sub

VBA automatizacija čini rad lakšim

VBA je višestruki jezik koji služi mnogim svrhama. Korisnički obrasci samo su jedan aspekt unutar VBA - postoje mnoge druge namjene kao što su konsolidacija radnih knjiga i radnih listova, spajanje više listova Excela i druge zgodne upotrebe automatizacije.

Bez obzira na cilj automatizacije, VBA je na visini zadatka. Ako nastavite učiti i vježbati, nema aspekta svog radnog tijeka koji ne možete poboljšati.

Kako spojiti više Excelovih listova pomoću VBA makronaredbe

Spajanje podataka s više od jednog Excel lista u istoj radnoj knjizi prava je gnjavaža... dok ne koristite VBA makronaredbe.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Programiranje
  • Produktivnost
  • Visual Basic programiranje
  • Microsoft Excel
O autoru
Gaurav Siyal (Objavljeno 50 članaka)

Gaurav Siyal ima dvije godine iskustva pisanja, pisanja za niz tvrtki za digitalni marketing i dokumenata o životnom ciklusu softvera.

Više od Gaurava Siyala

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu