Sadržaj
U ovom članku ću vam pokazati kako možete analizirati situaciju u Excelu VBA ako ćelija sadrži vrijednost. Naučit ćete analizirati situaciju i za bilo koju vrijednost i za određenu vrijednost.
Excel VBA analiza: Ako ćelija sadrži vrijednost tada (Brzi pregled)
3889
Preuzmi Vježbena knjiga
Preuzmite ovu radnu bilježnicu za vježbanje dok čitate ovaj članak.
VBA If Cell Contains Value Then.xlsm
Analiza Excel VBA: Ako ćelija sadrži vrijednost, onda vrati rezultate (analiza korak po korak)
Ovdje imamo skup podataka s ocjenama nekih učenika iz fizike, kemije, i matematike u školi pod nazivom Dječji vrtić Suncokret.
Prazna polja znače da se učenik nije pojavio, odnosno izostao na tom ispitu. Sada analizirajmo situaciju, sadrži li ćelija vrijednost ili ne, s ovim skupom podataka.
⧪ Korak 1: Deklariranje ćelije
Prvo, moramo deklarirati ćeliju čiju vrijednost želimo analizirati. Analizirajmo je li se Jennifer Marlo pojavila na ispitu iz fizike ili ne.
Stoga, moramo provjeriti sadrži li ćelija C12 vrijednost ili ne.
Da bismo to učinili, prvo moramo deklarirati ćeliju C12 .
Redak koda koji to postiže bit će:
4803
⧪ Korak 2: Provjera sadrži li ćelija vrijednost (uključujući određenu vrijednost)
Sljedeće, moramo provjeriti je lićelija sadrži vrijednost ili ne. Ovo ćemo izvršiti pomoću If uvjeta . Red koda bit će:
7964
Ovaj kôd će se izvršiti ako ćelija sadrži bilo koju vrijednost. Za provjeru vrijednosti (Na primjer, sadrži li 100 ili ne), upotrijebite tu određenu vrijednost sa simbolom Jednako .
9985
⧪ Korak 3: Dodjela zadatka
Tada morate postaviti zadatak koji će se izvršiti ako ćelija sadrži vrijednost (ili određenu vrijednost).
Ovdje želimo prikazati poruku "Jennifer Marlo pojavila se na ispitu iz fizike." . Tako će linija koda biti:
5935
⧪ Korak 4: Završetak If bloka
Na kraju, morate proglasiti kraj If bloka.
1805
Dakle, kompletan VBA kôd će biti:
⧭ VBA kod:
3753
⧭ Izlaz:
Pokrenite ovaj kod klikom na gumb Pokreni pod/korisnički obrazac na alatnoj traci.
Pojavit će se poruka "Jennifer Marlo pojavila se na ispitu iz fizike." budući da ćelija C12 sadrži vrijednost 50 .
Primjeri koji uključuju ako ćelija sadrži vrijednost, zatim određeni izlaz s Excel VBA
Naučili smo analizirati sadrži li ćelija vrijednost ili nije u VBA . Istražimo sada neke primjere kako bismo razjasnili razumijevanje.
1. Razvijanje makronaredbe za filtriranje vrijednosti Ako odgovarajuća ćelija sadrži bilo kakvu vrijednost onda u programu Excel VBA
Razvijmo Makro za filtriranje studenata koji su se pojavili na svakom od ispita.
To jest, moramo provjeriti ćelije koje sadrže ocjene svakog od predmeta i vidjeti sadrže li vrijednost ili ne.
Ako to učine, tada moramo sortirati ime odgovarajućeg učenika.
Kompletan VBA kod za postizanje ovoga bit će:
⧭ VBA kod:
7112
⧭ Izlaz:
Odaberite skup podataka ( Uključujući Zaglavlja ) i pokrenite ovaj Makro .
Prvo, od vas će se tražiti da unesete referencu prvog ćeliju u kojoj želite filtrirane podatke. Unio sam G3 .
Zatim kliknite OK . Dobit ćete imena studenata koji su se pojavili na svakom od ispita (uključujući Zaglavlja ) u novom skupu podataka počevši od ćelije G3 .
2. Stvaranje korisnički definirane funkcije za sortiranje vrijednosti ako odgovarajuća ćelija sadrži određenu vrijednost tada u programu Excel VBA
Sada ćemo stvoriti korisnički definiranu funkciju koja će vratiti imena učenika koji su dobili određenu ocjenu iz svakog od predmeta.
Procedura je gotovo ista kao gore. Moramo provjeriti ćelije koje sadrže ocjene svakog od predmeta i vidjeti jesu li one jednake određenoj vrijednosti ili ne.
Ako jesu, tada ćemo vratiti ime odgovarajućeg učenika.
VBA kôd će biti:
⧭ VBAKôd:
MsgBox "Jennifer Marlo appeared in Physics exam."
⧭ Izlaz:
Kôd stvara funkciju pod nazivom Cells_with_Values koja uzima dva argumenta, Raspon i Vrijednost .
Pronađimo studente koji su dobili 100 u svakom od predmeta pomoću ove funkcije.
Odaberite raspon ćelija u svom radnom listu i unesite ovu funkciju u prvu ćeliju raspona:
=Cells_with_Values(B3:E13,100)
[Ovdje B3: E3 je moj skup podataka (uključujući Zaglavlja ), a 100 je moja odgovarajuća vrijednost. Vi koristite svoj.]
Zatim pritisnite CTRL + SHIFT + ENTER ( Formula polja ). Vratit će niz koji se sastoji od imena učenika koji su dobili 100 iz svakog predmeta, uključujući Zaglavlja .
3. Razvijanje korisničkog obrasca za izdvajanje vrijednosti ako odgovarajuća ćelija sadrži bilo koju vrijednost (ili određenu vrijednost) u programu Excel VBA
Konačno, razvit ćemo korisnički obrazac za izdvajanje imena studenata koji su pristupili (ili dobili određene ocjene) na određenim ispitima.
⧪ Korak 1: Otvaranje korisničkog obrasca
Idite na Insert > Opcija UserForm u uređivaču VBA za otvaranje novog UserForm . Otvorit će se novi Korisnički obrazac pod nazivom Korisnički obrazac1 .
⧪ Korak 2: Povlačenje alata u korisnički obrazac
Osim korisničkog obrasca , dobit ćete kutiju s alatima . Pomaknite kursor preko Toolboxa i povucite 4 oznake (Label1, Label2,Label3, Label4) i 3 ListBoxes (ListBox1, ListBox2, ListBox3) i TextBox (TextBox1) u pravokutnom obliku preko UserForm .
Zatim povucite drugu Oznaku (Label5) i TextBox (TextBox2) u donji lijevi kut Korisničkog obrasca .
Na kraju, povucite CommandButton (CommandButton1) u donji desni kut.
Promijenite prikaze Oznaka u Stupac pretraživanja , Povratni stupac , Bilo koja vrijednost ili određena vrijednost , Vrijednost, i Početna ćelija.
Također promijenite prikaz CommandButton1 u OK .
⧪ Korak 3: Pisanje koda za ListBox3
Dvaput kliknite na ListBox3 . Otvorit će se Privatna potprocedura pod nazivom ListBox3_Click . Tamo unesite sljedeći kod.
9895
⧪ Korak 4: Pisanje koda za CommandButton1
Zatim dvaput kliknite na CommandButton1 . Otvorit će se još jedna Privatna potprocedura pod nazivom CommandButton1_Click . Tamo unesite sljedeći kod.
9911
⧪ Korak 5: Pisanje koda za pokretanje korisničkog obrasca
Na kraju umetnite novi Modul iz VBA alatna traka i tamo umetnite sljedeći kod.
6904
⧪ Korak 6: Pokretanje korisničkog obrasca (konačni izlaz)
Vaš Korisnički obrazac sada je spreman za korištenje. Odaberite skup podataka s radnog lista ( B3:E13 ovdje) (uključujući Zaglavlja ) ipokrenite Makro pod nazivom Run_UserForm .
Korisnički obrazac bit će učitan u radni list. Iz tablice Lookup Column odabrao sam Physics i Mathematics , jer želim dobiti imena učenika koji su se pojavili u Physics i Matematika ispiti.
Iz tablice Povratni stupac odabrao sam Ime učenika jer želim dobiti imena učenika.
I iz tablice Bilo koja vrijednost ili Specifična vrijednost odabrao sam Bilo koja vrijednost .
Na kraju, u početnoj ćeliji okvir, stavio sam G3 .
Zatim kliknite OK . Dobit ćete imena učenika koji su pristupili ispitima fizike i matematike počevši od ćelije G3 .
Da ste odabrali Specific Value iz tablice Any Value or Specific Value , imali biste još jedan TextBox za unos određene vrijednosti.
Ovdje sam unio 100 .
Kliknite U redu . I dobit ćete učenike koji su dobili 100 iz fizike i kemije .
Stvari koje treba zapamtiti
Koristili smo dvodimenzionalni niz za vraćanje imena učenika u Korisnički definiranoj funkciji opisanoj u primjeru 2 .