Excel VBA: Gelak balioa badu, itzuli zehaztutako irteera

  • Partekatu Hau
Hugh West

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 .

Hugh West esperientzia handiko Excel prestatzaile eta analista da, industrian 10 urte baino gehiagoko esperientzia duena. Kontabilitate eta Finantzetan Lizentziatua eta Enpresen Administrazioko Masterra da. Hughek irakasteko grina du eta jarraitzeko eta ulertzeko erraza den irakaskuntza-ikuspegi berezia garatu du. Excel-en ezagutza adituak mundu osoko milaka ikasle eta profesionalei beren gaitasunak hobetzen eta beren karreran bikaintzen lagundu die. Bere blogaren bidez, Hughek bere ezagutzak munduarekin partekatzen ditu, doako Excel tutorialak eta lineako prestakuntza eskainiz, pertsona eta enpresei beren potentzial osoa lortzen laguntzeko.