Enhavtabelo
En ĉi tiu artikolo, mi montros al vi kiel vi povas analizi la situacion en Excel VBA se ĉelo enhavas valoron. Vi lernos analizi la situacion por iu ajn valoro kaj aparta valoro.
Excel VBA-Analizo: Se Ĉelo Enhavas Valoron tiam (Rapida Vido)
2963
Elŝutu Praktikan Laborlibron
Elŝutu ĉi tiun praktiklibron por ekzerci dum vi legas ĉi tiun artikolon.
VBA If Cell Contains Value Then.xlsm
Excel-VBA-Analizo: Se Ĉelo Enhavas Valoron Tiam Revenas Eligojn (Paŝo post Paŝo-Analizo)
Ĉi tie ni havas datuman aron kun la notoj de kelkaj studentoj pri Fiziko, Kemio, kaj Matematiko en lernejo nomata Sunflora Infanĝardeno.
La malplenaj ĉeloj signifas, ke la studento ne aperis, tio estas, forestis en tiu aparta ekzameno. Nun ni analizu la situacion, ĉu ĉelo enhavas valoron aŭ ne, kun ĉi tiu datuma aro.
⧪ Paŝo 1: Deklari la Ĉelon
Unue, ni devas deklari la ĉelon, kies valoron ni volas analizi. Ni analizu ĉu Jennifer Marlo aperis en la ekzameno pri Fiziko aŭ ne.
Tial ni devas kontroli ĉu ĉelo C12 enhavas valoron aŭ ne.
Por fari tion, unue, ni devas deklari ĉelon C12 .
La linio de kodo por plenumi ĉi tion estos:
9204
⧪ Paŝo 2: Kontrolante ĉu la ĉelo enhavas a Valoro (Inkluzive de Aparta Valoro)
Sekva, ni devas kontroli ĉula ĉelo enhavas valoron aŭ ne. Ni plenumos ĉi tion uzante Se kondiĉo . La linio de kodo estos:
8962
Ĉi tiu kodo estos efektivigita se la ĉelo enhavas iun valoron. Por kontroli valoron (Ekzemple, ĉu ĝi enhavas 100 aŭ ne), uzu tiun specifan valoron kun Egala al simbolo.
5666
⧪ Paŝo 3: Asigni la Taskon
Tiam vi devas agordi taskon kiu estos plenumita se la ĉelo enhavas valoron (aŭ specifan valoron).
Ĉi tie ni volas montri la mesaĝon. “Jennifer Marlo aperis en Fizika ekzameno.” . Do la linio de kodo estos:
3793
⧪ Paŝo 4: Finante la If-Blokon
Fine, vi devas deklari finon al la If-bloko.
8623
Do la kompleta VBA kodo estos:
⧭ VBA-kodo:
5444
⧭ Eligo:
Ruli ĉi tiun kodon alklakante la butonon Run Sub/UserForm sur la ilobreto.
Ĝi montros la mesaĝon “Jennifer Marlo aperis en Fizika ekzameno.” ĉar la ĉelo C12 enhavas valoron, de 50 .
Ekzemploj Kontraktantaj Se Ĉelo Enhavas Valoron Tiam Specifita Eligo kun Excel VBA
Ni lernis analizi ĉu ĉelo enhavas valoron aŭ ne en VBA . Nun, ni esploru kelkajn ekzemplojn por klarigi la komprenon.
1. Disvolvi Makroon por Filtri Valoron Se la Koresponda Ĉelo Enhavas iun ajn Valoron, tiam en Excel VBA
Ni disvolvu Makro por filtri la studentojn kiuj aperis en ĉiu el la ekzamenoj.
Tio, ni devas kontroli la ĉelojn enhavantajn la notojn de ĉiu el la temoj kaj vidi ĉu ili enhavas valoron. aŭ ne.
Se ili faras, tiam ni devas ordigi la nomon de la responda studento.
La kompleta VBA kodo por plenumi tion estos:
⧭ VBA-Kodo:
3824
⧭ Eligo:
Elektu la datuman aron ( Inkluzive de la Titoloj ) kaj rulu ĉi tiun Makroon .
Unue, oni petos vin enigi la referencon de la unua ĉelo kie vi volas la filtritajn datumojn. Mi enigis G3 .
Tiam alklaku Bone . Vi ricevos la nomojn de la studentoj kiuj aperis en ĉiu el la ekzamenoj (Inkluzive de la Titoloj ) en nova datumaro komencante de ĉelo G3 .
2. Krei Uzant-Difinitan Funkcion por Ordigi Valoron Se la Koresponda Ĉelo Enhavas Specifan Valoron tiam en Excel VBA
Nun ni kreos uzant-difinitan funkcion, kiu redonos la nomojn de la studentoj. kiu ricevis specifan noton en ĉiu el la fakoj.
La procedo estas preskaŭ sama kiel la supre. Ni devas kontroli la ĉelojn enhavantajn la markojn de ĉiu el la temoj kaj vidi ĉu ili estas egalaj al specifa valoro aŭ ne.
Se ili estas, tiam ni resendos la nomon de la responda studento.
La VBA kodo estos:
⧭ VBAKodo:
8694
⧭ Eligo:
La kodo kreas funkcion nomatan Ĉeloj_kun_valoroj kiu prenas du argumentojn, Intervalo kaj Valoro .
Ni eltrovu la studentojn kiuj akiris 100 en ĉiu el la subjektoj uzante ĉi tiun funkcion.
Elektu gamon da ĉeloj en via laborfolio kaj enigu ĉi tiun funkcion en la unua ĉelo de la gamo:
=Cells_with_Values(B3:E13,100)
[Ĉi tie B3: E3 estas mia datumaro (Inkluzive de la Titoloj ) kaj 100 estas mia kongrua valoro. Vi uzas vian.]
Tiam premu CTRL + MAJÚ + ENTER ( Array Formulo ). Ĝi redonos tabelon konsistantan el la nomoj de la studentoj kiuj ricevis 100 en ĉiu temo, inkluzive de la Titoloj .
3. Disvolvante Uzantformon por Eltiri Valoron se la Kongrua Ĉelo Enhavas ajnan Valoron (Aŭ Specifan Valoron) en Excel VBA
Fine, ni disvolvos UzantFormon por ĉerpi la nomoj de studentoj kiuj aperis (aŭ ricevis specifajn notojn) en iuj specifaj ekzamenoj.
⧪ Paŝo 1: Malfermi la Uzantformularon
Iru al la Enmeti > Opcio de UserForm en la redaktilo VBA por malfermi novan UserForm . Nova Uzantformo nomata UserForm1 estos malfermita.
⧪ Paŝo 2: Treni Ilojn al la Uzantformo
Krom la Uzantformularo , vi ricevos la Ilujon . Movu vian kursoron super la Ilkesto kaj trenu 4 Etikedojn (Label1, Label2,Label3, Label4) kaj 3 ListKestoj (ListBox1, ListBox2, ListBox3) kaj TextBox (TextBox1) en rektangula formo super la UzantFormo .
Tiam trenu alian Etikedon (Label5) kaj Tekstkeston (TextBox2) al la malsupra maldekstra angulo de la Uzantformularo .
Fine trenu Komandbutonon (Komandbuton1) al la malsupra dekstra angulo.
Ŝanĝu la ekranojn de la Etikedoj al Serĉa Kolumno , Revena Kolumno , Ajna Valoro aŭ Specifa Valoro , Valoro, kaj Komenca Ĉelo.
Ankaŭ, ŝanĝu la ekranon de la KomandButono1 al OK .
⧪ Paŝo 3: Skribo de Kodo por ListBox3
Duoble klaku sur ListBox3 . Malfermiĝos Privata Subprocedo nomata ListBox3_Click . Enigu la jenan kodon tie.
3560
⧪ Paŝo 4: Skribi Kodon por CommandButton1
Tiam duoble alklaku CommandButton1 . Alia Privata Subprocedo nomata CommandButton1_Click malfermiĝos. Enigu la jenan kodon tie.
3135
⧪ Paŝo 5: Skribi Kodon por Rulado de la Uzantformularo
Fine, enigu novan Modulo el la VBA-ilbreto kaj enigu tie la jenan kodon.
6852
⧪ Paŝo 6: Ruli la Uzantformon (La Fina Eligo)
Via Uzantformo nun estas preta por uzi. Elektu la datuman aron el la laborfolio ( B3:E13 ĉi tie) (Inkluzive de la Titoloj ) kajrulu la Makroon nomatan Run_UserForm .
La UserForm estos ŝarĝita en la laborfolio. El la Serĉa Kolumno -tabelo, mi elektis Fizikon kaj Matematikon , ĉar mi volas ricevi la studentnomojn kiuj aperis en Fiziko kaj ekzamenoj de Matematiko .
El la tabelo Revenkolumno , mi elektis Nomon de lernanto , ĉar mi volas ricevi la nomojn de lernantoj.
Kaj el la tabelo Ajna valoro aŭ specifa valoro , mi elektis Ajna valoro .
Fine, en la Komenca ĉelo skatolo, mi metis G3 .
Tiam alklaku Bone . Vi ricevos la nomojn de la studentoj kiuj aperis en ekzamenoj de Fiziko kaj Matematiko ekde ĉelo G3 .
Se vi elektus Specifika Valoro el la tabelo Ajna Valoro aŭ Specifvaloro , vi havus alian Tekstokeston por enigi la specifan valoron.
Ĉi tie mi enigis 100 .
Alklaku OK . Kaj vi ricevos la studentojn kiuj akiris 100 en Fiziko kaj Kemio .
> Memorindaj aferoj
Ni uzis dudimensian tabelon por redoni la studentnomojn en la Uzant-Difinita Funkcio priskribita en ekzemplo 2 .