Excel VBA: Os yw Cell yn Cynnwys Gwerth Yna Dychwelwch Allbwn Penodedig

  • Rhannu Hwn
Hugh West

Yn yr erthygl hon, byddaf yn dangos i chi sut y gallwch chi ddadansoddi'r sefyllfa yn Excel VBA os yw cell yn cynnwys gwerth. Byddwch yn dysgu sut i ddadansoddi'r sefyllfa ar gyfer unrhyw werth a gwerth penodol.

Dadansoddiad VBA Excel: Os yw Cell yn Cynnwys Gwerth yna (Golwg Cyflym)

4115

Lawrlwythwch Llyfr Gwaith Ymarfer

Lawrlwythwch y llyfr gwaith ymarfer hwn i wneud ymarfer corff tra byddwch yn darllen yr erthygl hon.

VBA Os Mae Cell yn Cynnwys Gwerth Yna.xlsm

<4 Dadansoddiad VBA Excel: Os yw Cell yn Cynnwys Gwerth Yna Dychwelyd Allbynnau (Dadansoddiad Cam wrth Gam)

Yma mae gennym set ddata gyda marciau rhai myfyrwyr mewn Ffiseg, Cemeg, a Mathemateg mewn ysgol o'r enw Sunflower Kindergarten.

Mae'r celloedd gwag yn golygu nad oedd y myfyriwr yn ymddangos, hynny yw, yn absennol yn yr arholiad penodol hwnnw. Nawr gadewch i ni ddadansoddi'r sefyllfa, p'un a yw cell yn cynnwys gwerth ai peidio, gyda'r set ddata hon.

⧪ Cam 1: Datgan y Gell

Yn gyntaf, mae'n rhaid i ni datgan y gell yr ydym am ddadansoddi ei gwerth. Gadewch i ni ddadansoddi a ymddangosodd Jennifer Marlo yn yr arholiad Ffiseg ai peidio.

Felly, mae angen i ni wirio a yw cell C12 yn cynnwys gwerth ai peidio.

I wneud hynny, yn gyntaf, mae'n rhaid i ni ddatgan cell C12 .

Llinell y cod i gyflawni hyn fydd:

2106

⧪ Cam 2: Gwirio A yw'r Gell yn Cynnwys Gwerth (Gan gynnwys Gwerth Penodol)

Nesaf, mae'n rhaid i ni wirio amae'r gell yn cynnwys gwerth ai peidio. Byddwn yn gweithredu hyn gan ddefnyddio amod Os . Llinell y cod fydd:

7336

Gweithredir y cod hwn os yw'r gell yn cynnwys unrhyw werth. I wirio am werth (Er enghraifft, p'un a yw'n cynnwys 100 ai peidio), defnyddiwch y gwerth penodol hwnnw gyda symbol Cyfartal i .

4621

⧪ Cam 3: Gosod y Dasg

Yna mae'n rhaid i chi osod tasg a fydd yn cael ei chyflawni os yw'r gell yn cynnwys gwerth (neu werth penodol).

Yma, rydym am ddangos y neges “Ymddangosodd Jennifer Marlo yn yr arholiad Ffiseg.” . Felly llinell y cod fydd:

5086

⧪ Cam 4: Dod â'r Bloc If i ben

Yn olaf, mae'n rhaid i chi ddatgan diwedd i'r bloc If.

7660

Felly y cod VBA cyflawn fydd:

⧭ Cod VBA:

6993

<0 ⧭ Allbwn:

Rhedwch y cod hwn drwy glicio ar y botwm Rhedeg Is/Ffurflen Ddefnyddiwr ar y bar offer.

0>Bydd yn dangos y neges “Ymddangosodd Jennifer Marlo yn yr arholiad Ffiseg.”gan fod y gell C12yn cynnwys gwerth, o 50.

Enghreifftiau sy'n Cynnwys Os Mae Cell yn Cynnwys Gwerth Yna Allbwn Penodedig gydag Excel VBA

Rydym wedi dysgu dadansoddi a yw cell yn cynnwys gwerth neu ddim yn VBA . Nawr, gadewch i ni archwilio rhai enghreifftiau i wneud y ddealltwriaeth yn glir.

1. Datblygu Macro i Hidlo Gwerth Os Mae'r Gell Gyfatebol yn Cynnwys unrhyw Werth yna yn Excel VBA

Gadewch i ni ddatblygu Macro i hidlo'r myfyrwyr a ymddangosodd ym mhob un o'r arholiadau.

Hynny yw, mae'n rhaid i ni wirio'r celloedd sy'n cynnwys marciau pob un o'r pynciau a gweld a ydynt yn cynnwys gwerth neu beidio.

Os ydynt, yna mae'n rhaid i ni drefnu enw'r myfyriwr cyfatebol.

Cod VBA cyflawn i gyflawni hyn fydd:<3

⧭ Cod VBA:

5639

⧭ Allbwn:

Dewiswch y set ddata ( Gan gynnwys y Penawdau ) a rhedeg y Macro hwn.

Yn gyntaf, gofynnir i chi nodi cyfeirnod y cyntaf cell lle rydych chi eisiau'r data wedi'i hidlo. Rydw i wedi rhoi G3 .

Yna cliciwch OK . Byddwch yn cael enwau'r myfyrwyr a ymddangosodd ym mhob un o'r arholiadau (Gan gynnwys y Penawdau ) mewn set ddata newydd yn dechrau o gell G3 .

2. Creu Swyddogaeth a Ddiffiniwyd gan Ddefnyddiwr i Drefnu Gwerth Os yw'r Gell Gyfatebol yn Cynnwys Gwerth Penodol yna yn Excel VBA

Nawr byddwn yn creu swyddogaeth wedi'i diffinio gan y defnyddiwr a fydd yn dychwelyd enwau'r myfyrwyr a gafodd farc penodol ym mhob un o'r pynciau.

Mae'r drefn bron yr un fath â'r uchod. Mae'n rhaid i ni wirio'r celloedd sy'n cynnwys marciau pob un o'r pynciau a gweld a ydyn nhw'n hafal i werth penodol ai peidio.

Os ydyn nhw, yna byddwn yn dychwelyd enw'r myfyriwr cyfatebol.

Cod VBA fydd:

⧭ VBACod:

6844

⧭ Allbwn:

Mae'r cod yn creu ffwythiant o'r enw Cells_with_Values sy'n yn cymryd dwy arg, sef Amrediad a Gwerth .

Dewch i ni ddarganfod y myfyrwyr gafodd 100 ym mhob un o'r pynciau gan ddefnyddio'r ffwythiant hwn.

Dewiswch ystod o gelloedd yn eich taflen waith a rhowch y swyddogaeth hon yng nghell gyntaf yr ystod:

=Cells_with_Values(B3:E13,100)

[Yma B3: E3 yw fy set ddata (Gan gynnwys y Penawdau ) a 100 yw fy ngwerth cyfatebol. Rydych chi'n defnyddio'ch un chi.]

Yna pwyswch CTRL + SHIFT + ENTER ( Fformiwla Array ). Bydd yn dychwelyd arae sy'n cynnwys enwau'r myfyrwyr a gafodd 100 ym mhob pwnc, gan gynnwys y Penawdau .

3. Datblygu Ffurflen Ddefnyddiwr i Echdynnu Gwerth os yw'r Gell Gyfatebol yn Cynnwys unrhyw Werth (Neu Werth Penodol) yn Excel VBA

Yn olaf, byddwn yn datblygu Ffurflen Ddefnyddiwr i echdynnu'r enwau myfyrwyr a ymddangosodd (neu a gafodd farciau penodol) mewn rhai arholiadau penodol.

⧪ Cam 1: Agor y Ffurflen Defnyddiwr

Ewch i'r Mewnosod > Opsiwn UserForm yn y golygydd VBA i agor UserForm newydd. Bydd Ffurflen Defnyddiwr newydd o'r enw UserForm1 yn cael ei hagor.

⧪ Cam 2: Offer Llusgo i'r Ffurflen Defnyddiwr<2

Yn ogystal â'r Ffurflen Defnyddiwr , fe gewch y Blwch Offer . Symudwch eich cyrchwr dros y Blwch Offer a llusgwch 4 Label (Label1, Label2,Label3, Label4) a 3 Blwch Rhestr (ListBox1, ListBox2, ListBox3) a TextBox (TextBox1) mewn siâp petryal dros y UserForm .

Yna llusgwch Label (Label5) arall a TextBox (TextBox2) i gornel chwith isaf y Ffurflen Defnyddiwr .

Yn olaf, llusgwch Botwm Gorchymyn (CommandButton1) i'r gornel dde isaf.

Newid arddangosiadau'r Labeli i Colofn Edrych , Colofn Ddychwelyd , Unrhyw Werth neu Werth Penodol , Gwerth, a Cell Cychwyn.

Hefyd, newidiwch ddangosydd y Button Command1 i Iawn .

⧪ Cam 3: Ysgrifennu Cod ar gyfer ListBox3

Cliciwch ddwywaith ar ListBox3 . Bydd Is-weithdrefn Breifat o'r enw ListBox3_Click yn agor. Rhowch y cod canlynol yno.

6642

⧪ Cam 4: Ysgrifennu Cod ar gyfer CommandButton1

Yna cliciwch ddwywaith ar CommandButton1 . Bydd Is-weithdrefn Breifat arall o'r enw CommandButton1_Click yn agor. Rhowch y cod canlynol yno.

2559

⧪ Cam 5: Ysgrifennu Cod ar gyfer Rhedeg y Ffurflen Defnyddiwr

Yn olaf, mewnosodwch Modiwl newydd o'r 1>Bar offer VBA a mewnosodwch y cod canlynol yno.

4441

⧪ Cam 6: Rhedeg y Ffurflen Defnyddiwr (Yr Allbwn Terfynol) <3

Mae eich Ffurflen Ddefnyddiwr nawr yn barod i'w defnyddio. Dewiswch y set ddata o'r daflen waith ( B3:E13 yma) (Gan gynnwys y Penawdau ) arhedeg y Macro o'r enw Run_UserForm .

Bydd y Ffurflen Ddefnyddiwr yn cael ei llwytho yn y daflen waith. O'r tabl Colofn Edrych , rwyf wedi dewis Ffiseg a Mathemateg , oherwydd rwyf am gael enwau'r myfyrwyr a ymddangosodd yn Ffiseg ac arholiadau Mathemateg .

O'r tabl Colofn Ddychwelyd , rwyf wedi dewis Enw'r Myfyriwr , oherwydd rwyf am gael enwau'r myfyrwyr.

Ac o'r tabl Unrhyw Werth neu Werth Penodol , rwyf wedi dewis Unrhyw Werth .

Yn olaf, yn y Gell Cychwyn blwch, rwyf wedi rhoi G3 .

Yna cliciwch OK . Byddwch yn cael enwau'r myfyrwyr a ymddangosodd yn arholiadau Ffiseg a Mathemateg gan ddechrau o gell G3 .

<3

Pe baech wedi dewis Gwerth Penodol o'r tabl Unrhyw Werth neu Werth Penodol , byddai gennych TextBox arall i nodi'r gwerth penodol.

Yma rydw i wedi rhoi 100 .

Cliciwch Iawn . A byddwch yn cael y myfyrwyr a gafodd 100 mewn Ffiseg a Cemeg .

>Pethau i'w Cofio

Defnyddiwyd arae dau-ddimensiwn i ddychwelyd enwau'r myfyrwyr yn y Swyddogaeth a Ddiffiniwyd gan Ddefnyddiwr a ddisgrifir yn enghraifft 2 .<3

Mae Hugh West yn hyfforddwr a dadansoddwr Excel hynod brofiadol gyda dros 10 mlynedd o brofiad yn y diwydiant. Mae ganddo radd Baglor mewn Cyfrifeg a Chyllid a gradd Meistr mewn Gweinyddu Busnes. Mae gan Hugh angerdd am addysgu ac mae wedi datblygu dull addysgu unigryw sy’n hawdd ei ddilyn a’i ddeall. Mae ei wybodaeth arbenigol o Excel wedi helpu miloedd o fyfyrwyr a gweithwyr proffesiynol ledled y byd i wella eu sgiliau a rhagori yn eu gyrfaoedd. Trwy ei flog, mae Hugh yn rhannu ei wybodaeth gyda’r byd, gan gynnig tiwtorialau Excel am ddim a hyfforddiant ar-lein i helpu unigolion a busnesau i gyrraedd eu llawn botensial.