U ovom će članku naučiti osnove VBA korisničkih oblika. Objasnit ću kako stvoriti obrazac u Excelu, kako koristiti VBA alatni okvir, kako rukovati korisničkim ulazima i na kraju kako pohraniti korisničke unose. Proći ćemo kroz ovu temu pomoću jednog primjera i vodiča korak po korak. Ako čitate ovo, pretpostavljam da znate osnove programa Excel VBA.
Bez daljnjeg odlaganja, počnimo.
Napravite obrazac za ulaganje u Excel i pohranite zapis
Počet ćemo s osmišljavanjem korisničkog obrasca. U ovom korisničkom obliku imat ćemo jedno tekstualno polje za ime, jedno za dob, jedno za iznos ulaganja i par radio tipki za spol. Počnimo.
Dizajnirajte korisnički oblik
- Otvorite vizualni osnovni uređivač u Excelu pomoću prečaca ALT+F11. U Project Box -u kliknite desnom tipkom miša VBAProject(vaša datoteka). U umetnuti opciju, odaberite Korisnički obrazac.
- Odmah će se stvoriti nova mapa i vaš će se korisnički oblik pronaći. Svi korisnički oblici za ovaj projekt bit će dodani u ovu mapu.
- Promijenite naziv obrasca u InvestmentForm u kutija za nekretnine.
- Dodajte elemente u obrazac: Na gornjoj slici već sam dodao elemente (oznake, okvir za tekst, komandni gumb). No novi je korisnički obrazac potpuno prazan. Morate upotrijebiti okvir s alatima za dodavanje elemenata u obrazac. Ako ne vidite okvir s alatima, preuzmite ga pogled tab.
- Elementi imena: Okvir za tekst, oznake, gumbi itd. Svi su elementi. A da bismo ih koristili u VBA kodu moramo im dati imena. Za promjenu imena koristimo prozor svojstava.
- Odaberite element. Ovdje odabirem okvir za tekst za ime. Idite na prozor svojstva i promijenite naziv u „NazivBox”. Učinite isto za svaki element koji ćete koristiti. (ne morate imenovati oznake, osim ako ne želite da se na njih može kliknuti.)
Okvir s svojstvima prikazan je u donjem lijevom kutu istraživača projekta. Ako ga ne vidite, idite na prikaz i kliknite na Prozor svojstava. Puno ćemo ga koristiti, pa provjerite je li tu. Koristi se za oblikovanje, imenovanje i prilagođavanje obrazaca.
Dodajte oznake pomoću alata za opisne nazive. Dodajte tekstualni okvir za unos korisnika.
Dodajte dva izborna gumba i dajte im ime Muško i Žensko.
Koristio sam okvir za njihovo kapsuliranje, ali to nije potrebno.
Dodajte naredbene gumbe podnijeti i otkazati za izvođenje operacije na zadanom ulazu.
Promijenio sam element kao u donjoj tablici i upotrijebit ću te nazive za pozivanje na njih. Možete imati različita imena. Samo zamijenite ta imena svojim imenom. To su VBA nazivi (kodni naziv) koji će se koristiti u kodu. Oni se neće odraziti na obliku.
Tekst koji možete vidjeti na naljepnicama i gumbima je "Titlovi". Naziv i naslov elementa mogu biti isti, ako želite.
Element | Preimenovati |
Okvir za tekst naziva | NazivBox |
Okvir za tekst o dobi | AgeBox |
Muško dugme za opcije | MaleOption |
Žensko dugme za opcije | FemaleOption |
Okvir za ulaganje | InvestBox |
Gumb za predaju naredbe | SubmitButton |
Gumb za odustajanje od naredbe | Gumb za odustajanje |
- Pokaži korisnički obrazac korisniku: Sada je obrazac spreman, pokažimo ga korisniku. Ali čekaj, kako ću to učiniti. Na radnom listu ne postoji mogućnost pozivanja korisničkog obrasca.
- Na radnom listu idite na karticu Developers? Umetnuti? Gumb (kontrola oblika). Preimenujte ga u otvoreni obrazac.
- Desni klik na nju. Kliknite na dodijeli makro, a zatim na novo.
- Podmornica će se odmah stvoriti. Sada dodajte ovaj redak u podnaslov.
Zapravo, korisnički obrazac treba okidač. Ne može se pokazati samo od sebe. Možete upotrijebiti, naredbeni gumb, potprogram ili događaj kako bi se obrazac pojavio na zaslonu.
Ovdje ću upotrijebiti naredbeni gumb za pokretanje korisničkog obrasca.
Sub Open_Form () 'Obrazac za otvaranje InvestmentForm.Show End Sub
Učinjeno je. Vratite se na taj list i kliknite gumb. Pojavit će se korisnički obrazac.
- Ispunite list koristeći VBA korisnički obrazac: Kad smo kliknuli na naredbeni gumb (otvoreni obrazac), obrazac se pojavljuje. Sada možete ispuniti obrazac. No, kada pritisnemo gumb za slanje, podaci su trebali biti unijeti na ovaj list, ali ništa se ne događa.
Zato što za to nismo napisali nikakvu vba uputu. Moramo pohraniti podatke korisničkog obrasca u list.
- Vratite se na VBA i dvaput kliknite na podnijeti dugme. Nova podmena automatski će se stvoriti. Ova podmena je ugrađena u obrazac i ne možete je pronaći ni u jednom modulu. To je isto za svaki element oblika.
- Napišite ovaj vba kod u tu podmeniju.
Private Sub SubmitButton_Click () Sheet1.Activate 'get first empty row on sheet (o tome pročitajte ovdje) lstrow = Cells (Rows.Count, 1) .End (xlUp) .Row Set firstEmptyRow = Range ("A" & lstrow + 1 ) 'inicijalizira svaku ćeliju podacima firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' prva ćelija firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'prva ćelija udesno firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'treća ćelija desno' provjerava radio gumb If MaleOption.Value = True Then firstEmptyRow.Offset (0, 2) .Value = "Male" 'druga ćelija udesno Else firstEmptyRow.Offset ( 0, 2) .Value = "Female" 'druga ćelija s desne strane End If' Zatvaranje obrasca Unload Me End Sub
Gornji isječak VBA koda pokreće se kada se pritisne gumb za slanje. Nalazi prvi prazan redak na listu i ispunjava ga vrijednostima u obliku. I na kraju zatvara obrazac pomoću naredbe “Unload Me”.
- Zatvorite obrazac pomoću naredbe Odustani. Za sada je gumb za poništavanje beskoristan. Ne radi ništa. U slučaju da želite prekinuti unos, možete koristiti gumb za odustajanje. U tom slučaju:
Dvaput kliknite na naredbeni gumb za otkazivanje u VBA uređivaču. Bit će stvorena nova podmena. Samo napišite ovaj red koda da biste zatvorili korisnički obrazac.
Private Sub CancelButton_Click () 'Zatvaranje obrasca Unload Me End Sub
Na kraju će kôd obrasca izgledati ovako.
I to je to. Ovako koristite Excel vba userform za dobivanje unosa od korisnika. U ovom smo članku upravo istražili osnovnu upotrebu korisničkog oblika kako biste se s njim upoznali. Jednostavno je, ako poznajete osnovne vba.
U budućim člancima istraživat ćemo naprednije funkcionalnosti vba korisničkih oblika u Excelu. Izradit ćemo userform u excelu kako bismo učinili puno više. Istražit ćemo različite alate i elemente dostupne vba korisničkoj formi. Do tada ovo vježbajte. Ovu datoteku možete preuzeti za referencu ako želite.
Pa da, dečki, ovo je bio mali i jednostavan vodič za korisnički obrazac. Nadam se da je bilo snalažljivo. Javite mi ako imate bilo kakvih nedoumica u vezi s tim, javite mi u donjem odjeljku komentara.
povezani članci
Promijenite vrijednost/sadržaj nekoliko kontrola UserForm pomoću VBA u Excelu
Spriječite zatvaranje korisničkog oblika kada korisnik klikne gumb x pomoću VBA u Excelu
Vratite ćelije na koje se korisnik poziva pomoću RefEdit kontrole korisničkog oblika u Excelu
Popularni članci:
Funkcija VLOOKUP u Excelu
COUNTIF u Excelu 2016
Kako koristiti funkciju SUMIF u Excelu