Excel VBA: Instrucțiunea If bazată pe valoarea celulei (2 exemple practice)

  • Imparte Asta
Hugh West

În acest articol, vă voi arăta cum puteți folosi un Dacă declarația If în VBA în Excel pe baza valorii unei celule.

Excel VBA: Instrucțiunea If bazată pe valoarea celulei (Vizualizare rapidă)

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

Descărcați caietul de practică

Descărcați acest caiet de exerciții pentru a vă exercita în timp ce citiți acest articol.

Declarația If bazată pe valoarea celulei.xlsm

Declarația If bazată pe valoarea celulei în Excel VBA

Aici avem o foaie de calcul care conține nume și mărci a unor elevi ai unei școli la un examen.

Obiectivul nostru este de a învăța cum să folosim Dacă declarația If în Excel VBA pe baza valorii unei celule din acest set de date.

1. Declarația If bazată pe valoarea unei singure celule în Excel VBA

Mai întâi de toate, vom învăța să folosim o instrucțiune If bazată pe valoarea unei singure celule.

De exemplu, să încercăm să vedem dacă Natalia Austin a trecut sau nu examenul, adică dacă nota din celula C3 este mai mare decât 40 sau nu.

Coloana D conține rezultatul elevilor. Altfel spus, dacă celula C3 conține o notă mai mare de 40, celula D3 va conține "A trecut" . altfel, va conține "Eșuată" .

Vom folosi un VBA Gama pentru a crea acest obiect Dacă declarația If pe baza valorii celulei.

The VBA codul pentru aceasta va fi:

⧭ Cod VBA:

 Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub 

⧭ Ieșire:

Rulați codul din Rulați Sub / UserForm din aplicația VBA bara de instrumente.

Va face ca celula D3 conțin "Eșuată" , ca marcaj în celula C3 este mai mică decât 40 ( 32 ).

2. Instrucțiunea If bazată pe valorile unui interval de celule în Excel VBA

De asemenea, puteți utiliza și funcția Dacă declarația If pe baza valorilor unui interval de celule din VBA Puteți folosi un for-loop în acest scop.

De exemplu, aici putem afla rezultatul tuturor elevilor cu un singur cod. Vom itera prin intermediul unui fișier for-loop care va verifica toate celulele din intervalul C3:C12 și returnează un rezultat corespunzător, "A trecut" sau "Eșuată" .

The VBA codul pentru aceasta va fi:

⧭ Cod VBA:

 Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub 

⧭ Ieșire:

Rulați codul din Rulați Sub / UserForm din aplicația VBA Acesta va returna "A trecut" pentru mărcile care sunt mai mari decât 40 și "Eșuat" pentru cele care sunt mai puțin de n 40 .

Lucruri de reținut

Aici am arătat un Dacă declarația If cu o singură condiție. Dar, dacă doriți, puteți utiliza mai multe condiții în cadrul unei Dacă declarația If .

Dacă utilizați OR introduceți mai multe condiții, uniți-le cu un OR .

Și dacă folosiți ȘI introduceți mai multe condiții, uniți-le cu un ȘI .

De exemplu, pentru a verifica dacă marcajul din celula B3 este mai mare decât 40 și mai puțin de 50 sau nu, utilizați:

 Dacă (Range("C3").Value> 40 Sau Range("C3").Value <50) Atunci 

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.