Salve ragazzi, ho un piccolo problema con if..else.
In pratica devo "relazionare" due caselle di excel facendo si che se in una sola delle due caselle è presente testo alfanumerico mi dia un messaggio di errore. Quindi ho scirtto il seguente codice:
codice:
Sub Rettangolo2_Click()
If Range("B2") = 0 And Range("A3") <> 0 Then MsgBox "Attenzione data assente"
ElseIf Range("B2") <> 0 And Range("A3") = 0 Then MsgBox "Per quel giorno, non è presente alcun dato"
Else: MsgBox "non ci sono errori"
End If
End Sub
Il problema sussiste in quanto azionando la macro mi compare "Errore di compilazione: Else senza If" evidenziandomi "Range" di "Range("A3")" della terza riga del codice. Premettendo che da quello che ho capito l' If...Else viene utilizzato per dare delle condizioni cioè se (If) succede questo fai (then) questo, e se la condzione if è corretta passa alle n condizioni ElseIf proseguendo a cascata. Se nessuna codizione If o n-ElseIf è vera, mi applica la condizione Else. Di conseguenza non riesco proprio a capire perchè mi dia l'errore.
Altra due cose:
1 - E' possibile inserire un'altra "specifica" dopo Then nel senso vorrei che oltre al messaggio, mi selezioni anche una casella. Ho provato ad aggiungere un and:
codice:
If Range("B2") = 0 And Range("A3") <> 0 Then MsgBox "Attenzione data assente" and Range("B2").Selcetion
ma da errore a questo punto pensavo ad un GO TO ... .
2 - E' possibilie ampliare il rage di dove viene applicata la condizione if ad esempio passare da Range("A3") a Range ("A3:U50"). Ho provato ma da lo stesso errore... .
Spero in chiarimenti
saluti a tutti