Vba: utilizzare if and per testare più condizioni


È possibile utilizzare la seguente sintassi di base in VBA con IF e AND per verificare se sono soddisfatte più condizioni:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

Questo particolare esempio controlla se il valore nella cella A2 è uguale a “Guerrieri” e se il valore nella cella B2 è maggiore di 100.

Se entrambe le condizioni sono soddisfatte, il valore “Sì!” » viene restituito nella cella C2 .

Altrimenti il valore “No”. viene restituito alla cella C2 .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: utilizzare IF AND per testare più condizioni in VBA

Supponiamo di avere i seguenti dati in Excel:

Supponiamo di voler determinare se il nome della squadra è Warriors e il valore dei punti è maggiore di 100 e restituire il risultato nella cella C2 .

Per fare ciò possiamo creare la seguente macro:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
    Range(" C2 ").Value = " Yes! "
    Else
    Range(" C2 ").Value = " No. "
   End If
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

La macro restituisce correttamente il valore “No”. nella cella C2 poiché le due condizioni non sono state soddisfatte.

Se modifichiamo il valore dei punti nella cella B2 e quindi eseguiamo nuovamente la macro, verificherà se entrambe le condizioni sono soddisfatte per i nuovi valori:

Ad esempio, supponiamo di modificare il valore del punto in 104 ed eseguire nuovamente la macro:

La macro restituisce correttamente il valore “Sì!” » nella cella C2 poiché entrambe le condizioni sono state soddisfatte.

Se invece desideri visualizzare i risultati in una finestra di messaggio, puoi utilizzare la seguente sintassi:

 SubIfAnd ()
    If Range(" A2 ") = "Warriors" And Range(" B2 ") > 100 Then
    MsgBox “ Yes!Else
    MsgBox “ No.End If
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

La finestra di messaggio restituisce “Sì!” » poiché il nome della squadra è Warriors e il valore del punto è maggiore di 100.

Nota : in questo esempio, abbiamo utilizzato l’operatore And solo una volta nella nostra macro per verificare se due condizioni erano vere, ma puoi utilizzare tutti gli operatori And che desideri per verificare se vengono soddisfatte più di due condizioni.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:

VBA: come utilizzare CERCA.VERT
VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *