Condividi:        

[vba excel 2003]: if multipli in and

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[vba excel 2003]: if multipli in and

Postdi karug64 » 12/06/13 23:50

Salve a tutti.
NOn riesco a gestire una condizione del tipo:

If cattmp <> 1 And cattmp <> 2 And cattmp <> 20 And cattmp <> 33 And (cattmp > 59 And cattmp < 69) And (tmp <> 95) Then

Vorrei che se cattmp sia diverso da 1, da 2, da 20, da 33, da 95 e compreso tra 59 e 69

ma, cosi' come scritto non va.

Potreste darmi un seggerimento ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: [vba excel 2003]: if multipli in and

Postdi ricky53 » 13/06/13 00:03

Ciao,
per me c'è un errore in "... e compreso tra 59 e 69"
Non ci vuole "e" ma ci vuole "o" !!!
Inoltre, nel tuo
compreso tra 59 e 69
io ho considerato compresi anche gli estremi ossia il valore di "cattmp" può essere anche uguale a 59 o uguale a 69

Quindi con queste mie assunzioni prova in questo modo
Codice: Seleziona tutto
    If cattmp <> 1 And cattmp <> 2 And cattmp <> 20 And cattmp <> 33 And cattmp <> 95 Or cattmp >= 59 And cattmp <= 69 Then
'        QUI fa quello che gli devi far fare
    End If
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [vba excel 2003]: if multipli in and

Postdi Anthony47 » 13/06/13 00:30

Vedi la risposta di Ricky, sopra.
karug64 ha scritto: If cattmp <> 1 And cattmp <> 2 And cattmp <> 20 And cattmp <> 33 And (cattmp > 59 And cattmp < 69) And (tmp <> 95) Then
Vorrei che se cattmp sia diverso da 1, da 2, da 20, da 33, da 95 e compreso tra 59 e 69 ma, cosi' come scritto non va.
Qualcosa non mi quadra: ma non basta controllare che sia compreso tra 59 e 69, e automaticamente risultera' diverso da 1, 2, 20, 33, 95?

Ma probabilmente non ho afferrato qualcosa....
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [vba excel 2003]: if multipli in and

Postdi karug64 » 14/06/13 14:29

Intanto grazie per le risposte. Ma a me non funziona. Quello che mi serve (generalizzando) é questo:
Data un serie di numeri compresi tra 1 e 999 vorrei che gli if controllassero se la variabile non é compresa tra 599 e 699 e che non sia neppure 1, 2, 209,330,950,959.
Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: [vba excel 2003]: if multipli in and

Postdi ricky53 » 14/06/13 14:50

Ciao,
e prima perchè avevi messo numeri diversi?

Solo per precisione dire "non funziona" equivale a dire NULLA.
Avresti dovuto dire quale codice hai utilizzato e cosa hai ottenuto eseguendolo.


Comunque veniamo a noi.

Riepilogo quanto ho capito:
A) i numeri che vengono assegnati alla variabile sono solo da 1 a 999 compresi?
Va controllato anche questo intervallo?

B) il controllo sui numeri assegnati alla variabile è il seguente:
1. NON sono accettati i numeri da 599 a 699 compresi
2. NON sono accettati i numeri 1, 2, 209, 330, 950, 959

Aggiungo: se viene passato uno di questi numeri allora mandare un messaggio e ... poi vedi tu cosa far fare al codice


E' questo quello che ti occorre?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [vba excel 2003]: if multipli in and

Postdi karug64 » 14/06/13 15:12

Ciao. Mi scuso per la scarna spiegazione ma mi trovo in aeroporto e scrivo dal cell. Rispondo a quanto mi hai chiesto:

A) i numeri che vengono assegnati alla variabile sono solo da 1 a 999 compresi?

SI

B) il controllo sui numeri assegnati alla variabile è il seguente:
1. NON sono accettati i numeri da 599 a 699 compresi
2. NON sono accettati i numeri 1, 2, 209, 330, 950, 959


SI

Aggiungo: se viene passato uno di questi numeri allora mandare un messaggio e ... poi vedi tu cosa far fare al codice

OK.

grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: [vba excel 2003]: if multipli in and

Postdi ricky53 » 14/06/13 15:42

Ciao,
prova con questo codice
Codice: Seleziona tutto
        If cattmp < 1 Or cattmp > 999 Or _
                cattmp >= 599 And cattmp <= 699 Or _
                cattmp = 1 Or cattmp = 2 Or cattmp = 209 Or cattmp = 330 Or cattmp = 950 Or cattmp = 959 Then
            MsgBox "ATTENZIONE !!!  Il valore  '" & cattmp & "'  non è  AMMESSO !!!", vbCritical
            Exit Sub
        Else
' QUI al posto del messaggio fai fare quello che ti occorre
            MsgBox "Valore  '" & cattmp & "'  VALIDO", vbInformation
        End If
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [vba excel 2003]: if multipli in and

Postdi karug64 » 15/06/13 21:23

Ok. Provato. Tutto ok.
Grazie.
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: [vba excel 2003]: if multipli in and

Postdi ricky53 » 15/06/13 22:46

Ciao,
bene.

Alla prossima e buon proseguimento
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[vba excel 2003]: if multipli in and":


Chi c’è in linea

Visitano il forum: papiriof e 72 ospiti