Excel VBA: As sel waarde bevat, gee dan 'n gespesifiseerde uitvoer terug

  • Deel Dit
Hugh West

In hierdie artikel sal ek jou wys hoe jy die situasie in Excel VBA kan ontleed as 'n sel 'n waarde bevat. Jy sal leer om die situasie vir beide enige waarde en 'n spesifieke waarde te ontleed.

Excel VBA-analise: As sel 'n waarde bevat, dan (vinnige aansig)

1263

Laai die praktykwerkboek af

Laai hierdie oefenwerkboek af om te oefen terwyl jy hierdie artikel lees.

VBA If Cell Contains Value Then.xlsm

Excel VBA-analise: As sel 'n waarde bevat, gee dan uitsette terug (stap-vir-stap-analise)

Hier het ons 'n datastel met die punte van sommige studente in Fisika, Chemie, en Wiskunde in 'n skool genaamd Sunflower Kleuterskool.

Die leë selle beteken dat die student nie verskyn het nie, dit wil sê, afwesig was in daardie spesifieke eksamen. Kom ons ontleed nou die situasie, of 'n sel 'n waarde bevat of nie, met hierdie datastel.

⧪ Stap 1: Verklaar die sel

Eers moet ons verklaar die sel wie se waarde ons wil ontleed. Kom ons ontleed of Jennifer Marlo in die Fisika-eksamen verskyn het of nie.

Daarom moet ons kyk of sel C12 'n waarde bevat of nie.

Om dit te doen, eerstens moet ons sel C12 verklaar.

Die reël kode om dit te bereik sal wees:

6646

⧪ Stap 2: Kontroleer of die sel bevat 'n waarde (insluitend 'n besondere waarde)

Volgende moet ons kyk ofdie sel bevat 'n waarde of nie. Ons sal dit uitvoer deur 'n If-voorwaarde te gebruik. Die reël kode sal wees:

7780

Hierdie kode sal uitgevoer word as die sel enige waarde bevat. Om te kyk vir 'n waarde (Byvoorbeeld, of dit 100 bevat of nie), gebruik daardie spesifieke waarde met 'n Gelyk aan simbool.

4438

⧪ Stap 3: Toekenning van die taak

Dan moet jy 'n taak opstel wat uitgevoer sal word as die sel 'n waarde (of 'n spesifieke waarde) bevat.

Hier wil ons die boodskap vertoon “Jennifer Marlo het in Fisika-eksamen verskyn.” . Die kodereël sal dus wees:

8012

⧪ Stap 4: Beëindig die If-blok

Uiteindelik moet u 'n einde aan die If-blok verklaar.

6537

Dus die volledige VBA kode sal wees:

⧭ VBA-kode:

6721

⧭ Uitvoer:

Laat hierdie kode hardloop deur die Run Sub/UserForm -knoppie op die nutsbalk te klik.

Dit sal die boodskap “Jennifer Marlo het in Fisika-eksamen verskyn.” vertoon aangesien die sel C12 'n waarde van 50 bevat.

Voorbeelde wat behels as sel 'n waarde bevat dan 'n gespesifiseerde uitvoer met Excel VBA

Ons het geleer om te analiseer of 'n sel 'n waarde of nie in VBA . Kom ons ondersoek nou 'n paar voorbeelde om die begrip duidelik te maak.

1. Ontwikkel 'n makro om 'n waarde uit te filter As die ooreenstemmende sel enige waarde bevat, dan in Excel VBA

Kom ons ontwikkel 'n Makro om die studente wat in elk van die eksamens verskyn het, uit te filter.

Dit wil sê, ons moet die selle wat die punte van elk van die vakke bevat, nagaan en kyk of hulle 'n waarde bevat of nie.

As hulle dit doen, dan moet ons die naam van die ooreenstemmende student uitsorteer.

Die volledige VBA -kode om dit te bereik sal wees:

⧭ VBA-kode:

8405

⧭ Uitvoer:

Kies die datastel ( Insluitend die Opskrifte ) en voer hierdie Makro uit.

Eers sal jy gevra word om die verwysing van die eerste in te voer sel waar jy die gefiltreerde data wil hê. Ek het G3 ingevoer.

Klik dan OK . Jy sal die name van die studente kry wat in elkeen van die eksamens (insluitend die Opskrifte ) in 'n nuwe datastel vanaf sel G3 begin kry.

2. Skep 'n gebruikergedefinieerde funksie om 'n waarde uit te sorteer As die ooreenstemmende sel 'n spesifieke waarde bevat, dan in Excel VBA

Nou sal ons 'n gebruikergedefinieerde funksie skep wat die name van die studente sal gee wat 'n spesifieke punt in elk van die vakke gekry het.

Die prosedure is amper dieselfde as bogenoemde. Ons moet die selle wat die punte van elk van die vakke bevat, nagaan en kyk of hulle gelyk is aan 'n spesifieke waarde of nie.

As hulle dit is, sal ons die naam van die ooreenstemmende student teruggee.

Die VBA kode sal wees:

⧭ VBAKode:

4718

⧭ Uitvoer:

Die kode skep 'n funksie genaamd Selle_met_waardes wat neem twee argumente, 'n Bereik en 'n Waarde .

Kom ons vind uit die studente wat 100 in elk van die vakke gekry het deur hierdie funksie te gebruik.

Kies 'n reeks selle in jou werkblad en voer hierdie funksie in die eerste sel van die reeks in:

=Cells_with_Values(B3:E13,100)

[Hier B3: E3 is my datastel (Insluitend die Opskrifte ) en 100 is my ooreenstemmende waarde. Jy gebruik jou een.]

Druk dan CTRL + SHIFT + ENTER ( Skikkingsformule ). Dit sal 'n skikking terugstuur wat bestaan ​​uit die name van die studente wat 100 in elke vak gekry het, insluitend die Opskrifte .

3. Ontwikkel 'n gebruikersvorm om 'n waarde uit te trek as die ooreenstemmende sel enige waarde (of 'n spesifieke waarde) in Excel VBA bevat

Laastens sal ons 'n Gebruikersvorm ontwikkel om die name van studente wat in sommige spesifieke eksamens verskyn het (of spesifieke punte gekry het).

⧪ Stap 1: Maak die Gebruikersvorm oop

Gaan na die Voeg in > UserForm -opsie in die VBA -redigeerder om 'n nuwe UserForm oop te maak. 'n Nuwe Gebruikersvorm genaamd Gebruikersvorm1 sal oopgemaak word.

⧪ Stap 2: Sleep Gereedskap na die Gebruikersvorm

Behalwe die Gebruikersvorm , sal jy die Toolbox kry. Beweeg jou wyser oor die Gereedskapkas en sleep 4 etikette (Etiket1, Etiket2,Label3, Label4) en 3 ListBoxes (ListBox1, ListBox2, ListBox3) en 'n TextBox (TextBox1) in 'n reghoekige vorm oor die UserForm .

Sleep dan nog 'n Etiket (Label5) en 'n TextBox (TextBox2) na die linker onderste hoek van die UserForm .

Ten slotte, sleep 'n CommandButton (CommandButton1) na die onderste regterhoek.

Verander die vertonings van die Etikette na Opsoekkolom , Gee terug Kolom , Enige Waarde of 'n Spesifieke Waarde , Waarde, en Beginsel.

Verander ook die vertoning van die CommandButton1 na OK .

⧪ Stap 3: Skryf kode vir ListBox3

Dubbelklik op ListBox3 . 'n Privaat subprosedure genaamd ListBox3_Click sal oopmaak. Tik die volgende kode daar in.

7587

⧪ Stap 4: Skryf kode vir CommandButton1

Dubbelklik dan op CommandButton1 . Nog 'n Privaat Subprosedure genaamd CommandButton1_Click sal oopmaak. Voer die volgende kode daar in.

8616

⧪ Stap 5: Skryf kode om die Gebruikersvorm te laat loop

Voeg laastens 'n nuwe Module in vanaf die VBA-nutsbalk en voeg die volgende kode daar in.

9456

⧪ Stap 6: Gebruik die Gebruikersvorm (Die Finale Uitset)

Jou Gebruikersvorm is nou gereed om te gebruik. Kies die datastel uit die werkblad ( B3:E13 hier) (Insluitend die Opskrifte ) enhardloop die Macro genaamd Run_UserForm .

Die UserForm sal in die werkblad gelaai word. Uit die Opsoekkolom -tabel het ek Fisika en Wiskunde gekies, want ek wil die studentename kry wat in Fisika verskyn het. en Wiskunde -eksamens.

Uit die Terugkolom -tabel het ek Student Name gekies, want ek wil die studentename kry.

En uit die Enige Waarde of Spesifieke Waarde -tabel het ek Enige Waarde gekies.

Laastens, in die Beginsel boks, ek het G3 gesit.

Klik dan OK . Jy sal die name kry van die studente wat in Fisika en Wiskunde eksamens verskyn het vanaf sel G3 .

As jy Spesifieke Waarde uit die Enige Waarde of Spesifieke Waarde -tabel gekies het, sou jy nog 'n Tekskas gekry het om die spesifieke waarde in te voer.

Hier het ek 100 ingevoer.

Klik OK . En jy sal die studente kry wat 100 in Fisika en Chemie gekry het.

Dinge om te onthou

Ons het 'n tweedimensionele skikking gebruik om die studentename in die Gebruiker-gedefinieerde funksie beskryf in voorbeeld 2 terug te gee.

Hugh West is 'n hoogs ervare Excel-afrigter en ontleder met meer as 10 jaar ondervinding in die bedryf. Hy het 'n Baccalaureusgraad in Rekeningkunde en Finansies en 'n Meestersgraad in Besigheidsadministrasie. Hugh het 'n passie vir onderrig en het 'n unieke onderrigbenadering ontwikkel wat maklik is om te volg en te verstaan. Sy kundige kennis van Excel het duisende studente en professionele persone wêreldwyd gehelp om hul vaardighede te verbeter en uit te blink in hul loopbane. Deur sy blog deel Hugh sy kennis met die wêreld, en bied gratis Excel-tutoriale en aanlyn opleiding aan om individue en besighede te help om hul volle potensiaal te bereik.