Edukien taula
Artikulu honetan, Excel-en VBA egoera nola azter dezakezun erakutsiko dizut gelaxka batek balio bat badu. Egoera aztertzen ikasiko duzu edozein balio eta balio jakin baterako.
Excel VBA analisia: Gelak balio bat badu, orduan (Ikuspen azkarra)
8440
Deskargatu Praktika Lan-koadernoa
Deskargatu praktiketako lan-koaderno hau artikulu hau irakurtzen ari zaren bitartean ariketa egiteko.
VBA If Cell Contains Value Then.xlsm
Excel VBA analisia: zelulak balio bat badu, gero irteerak itzultzen dira (urratsez pauso analisia)
Hemen datu multzo bat dugu Fisika, Kimika, eta ikasle batzuen notekin. eta Matematika Sunflower Kindergarten izeneko eskolan.
Gelula hutsek esan nahi dute ikaslea ez zela agertu, hau da, azterketa zehatz horretan ez zegoela. Orain azter dezagun egoera, gelaxka batek balio bat duen ala ez, datu multzo honekin.
⧪ 1. urratsa: gelaxka deklaratzea
Lehenik eta behin, egin behar dugu deklaratu zeinen balioa aztertu nahi dugun gelaxka. Azter dezagun Jennifer Marlo Fisika azterketan agertu den ala ez.
Horregatik, C12 gelaxkak baliorik duen ala ez egiaztatu behar dugu.
Horretarako, lehenik eta behin, C12 gelaxka deklaratu behar dugu.
Hau lortzeko kode-lerroa hau izango da:
7999
⧪ 2. urratsa: gelaxkak daukan egiaztatzea balio bat (balio jakin bat barne)
Ondoren, egiaztatu behar dugugelaxkak balio bat dauka ala ez. Hau If baldintza erabiliz exekutatuko dugu. Kode-lerroa hau izango da:
6592
Kode hau gelaxkak balioren bat badu exekutatu egingo da. Balio bat egiaztatzeko (adibidez, 100 duen ala ez), erabili balio zehatz hori Berdin ikur batekin.
3421
⧪ 3. urratsa: Ataza esleitzea
Ondoren, gelaxkak balio bat (edo balio zehatz bat) badu exekutatuko den zeregin bat konfiguratu behar duzu.
Hemen, mezua bistaratu nahi dugu. “Jennifer Marlo Fisika azterketan agertu zen.” . Beraz, kodearen lerroa hau izango da:
5875
⧪ 4. urratsa: If blokea amaitzea
Azkenik, If blokearen amaiera adierazi behar duzu.
8474
Beraz, VBA kode osoa hau izango da:
⧭ VBA kodea:
1827
⧭ Irteera:
Exekutatu kode hau tresna-barrako Exekutatu Azpi/UserForm botoian klik eginez.
"Jennifer Marlo Fisika azterketan agertu zen" mezua bistaratuko du, C12 gelaxkak 50 balio bat baitu.
Adibideak Zelula balio bat badu, orduan zehaztutako irteera bat Excel VBArekin
Geluxa batek balio bat duen edo ez aztertzen ikasi dugu. ez VBA n. Orain, azter ditzagun adibide batzuk ulermena argitzeko.
1. Balio bat iragazteko makro bat garatzea Dagokion gelaxkak balioren bat badu, Excel VBA-n
Gara dezagun Makroa azterketa bakoitzean agertutako ikasleak iragazteko.
Hau da, irakasgai bakoitzaren notak dituzten gelaxkak egiaztatu behar ditugu eta balioren bat duten ikusi behar dugu. edo ez.
Hala egiten badute, dagokion ikaslearen izena ordenatu beharko dugu.
Hori betetzeko VBA kode osoa hau izango da:
⧭ VBA kodea:
1854
⧭ Irteera:
Hautatu datu multzoa ( Goiburuak barne) eta exekutatu Makro hau.
Lehenik eta behin, lehenengoaren erreferentzia sartzeko eskatuko zaizu. iragazitako datuak nahi dituzun gelaxka. G3 sartu dut.
Ondoren, sakatu Ados . Azterketa bakoitzean agertu diren ikasleen izenak ( Goiburuak barne) datu multzo berri batean jasoko dituzu G3 gelaxkatik hasita.
2. Erabiltzaileak definitutako funtzio bat sortzea balio bat ordenatzeko Dagokion gelaxkak balio zehatz bat badu, Excel VBA-n
Orain erabiltzaileak definitutako funtzio bat sortuko dugu, ikasleen izenak itzuliko dituena. irakasgai bakoitzean nota zehatz bat lortu duena.
Prozedura aurrekoaren ia berdina da. Irakasgai bakoitzaren notak dituzten gelaxkak egiaztatu behar ditugu eta balio zehatz baten berdinak diren edo ez ikusi.
Badira, dagokion ikaslearen izena itzuliko dugu.
VBA kodea hau izango da:
⧭ VBAKodea:
3986
⧭ Irteera:
Kodeak Balioak_duten_zelulak izeneko funtzioa sortzen du. bi argumentu hartzen ditu, Barrutia eta Balioa .
Ikus ditzagun irakasgai bakoitzean 100 lortu duten ikasleak funtzio hau erabiliz.
Hautatu gelaxka sorta bat zure lan-orrian eta sartu funtzio hau barrutiaren lehenengo gelaxkan:
=Cells_with_Values(B3:E13,100)
[Hemen B3: E3 nire datu multzoa da ( Goiburuak barne) eta 100 nire bat datorren balioa da. Zurea erabiltzen duzu.]
Ondoren, sakatu CTRL + MAIUS + SARTU ( Matrizearen formula ). Irakasgai bakoitzean 100 lortu duten ikasleen izenez osatutako matrize bat itzuliko du, Goiburuak barne.
3. Erabiltzaile-inprimakia garatzea balio bat ateratzeko, dagokion gelaxkak edozein balio (edo balio espezifiko bat) badu Excel VBA-n
Azkenik, UserForm garatuko dugu. Azterketa zehatz batzuetan agertu (edo nota zehatzak lortu) dituzten ikasleen izenak.
⧪ 1. urratsa: Erabiltzaile-inprimakia irekitzea
Joan Txertatu > VBA editoreko UserForm aukera UserForm berri bat irekitzeko. UserForm izeneko UserForm1 berri bat irekiko da.
⧪ 2. urratsa: Tresnak arrastatu Erabiltzaile formulariora
Erabiltzaile-inprimakia gain, Tresna-kutxa lortuko duzu. Mugitu kurtsorea Tresna-kutxa eta arrastatu 4 etiketa (Etiketa1, Etiketa2,Label3, Label4) eta 3 ListBox (ListBox1, ListBox2, ListBox3) eta TextBox (TextBox1) forma angeluzuzena UserForm gainean.
Ondoren arrastatu beste Etiketa (Label5) eta Testu-koadroa (TextBox2) Erabiltzaile-inprimakia ren beheko ezkerreko ertzean.
Azkenik, arrastatu CommandButton (CommandButton1) beheko eskuineko izkinan.
Aldatu Etiketak ren pantailak Bilaketa zutabea , Itzuli zutabea , Edozein balio edo balio zehatz bat , Balioa, eta Hasierako gelaxka.
Gainera, aldatu CommandButton1 ren bistaratzea OK .
⧪ 3. urratsa: ListBox3-rako kodea idaztea
Klik bikoitza ListBox3 -n. ListBox3_Click izeneko Azpiprozedura pribatua irekiko da. Sartu hurrengo kodea bertan.
9129
⧪ 4. urratsa: Kodea idaztea CommandButton1
Ondoren, egin klik bikoitza CommandButton1-en . CommandButton1_Click izeneko beste Azpiprozedura pribatua irekiko da. Sartu bertan kodea.
9679
⧪ 5. urratsa: Erabiltzaile-inprimakia exekutatzeko kodea idaztea
Azkenik, sartu Modulu berri bat . 1>VBA tresna-barra eta sartu hurrengo kodea bertan.
9703
⧪ 6. urratsa: Erabiltzaile-inprimakia (azken irteera) exekutatu
Zure UserForm erabiltzeko prest dago orain. Hautatu datu-multzoa lan-orritik ( B3:E13 hemen) ( Goiburuak barne) etaexekutatu Run_UserForm izeneko Makroa .
UserForm lan-orrian kargatuko da. Bilaketa-zutabea taulan, Fisika eta Matematika hautatu ditut, Fisika n agertu diren ikasleen izenak lortu nahi ditudalako. eta Matematika azterketak.
Itzuli Zutabea taulan, Ikaslearen izena hautatu dut, ikasleen izenak jaso nahi ditudalako.
Eta Edozein balio edo balio zehatza taulatik, Edozein balio hautatu dut.
Azkenik, Hasierako gelaxkan koadroa, G3 jarri dut.
Ondoren, sakatu Ados . Fisika eta Matematika azterketetan agertu diren ikasleen izenak G3 gelaxkatik hasita jasoko dituzu.
Balio espezifikoa hautatu izan bazenu Edozein balio edo balio zehatza taulatik, beste Testu-koadroa lortuko zenuke balio zehatza sartzeko.
Hemen 100 sartu dut.
Sakatu Ados . Eta 100 lortu duten ikasleak lortuko dituzu Fisika eta Kimika .
Gogoratu beharreko gauzak
Bi dimentsioko array bat erabili dugu ikasleen izenak itzultzeko Erabiltzaileak definitutako funtzioa adibidean deskribatutako 2 .