[Risolto] Calc: condizione IF in un range di valori

Non sapete dove scrivere? Scrivete qui!
Regole del forum
Solo richieste di aiuto. Per saluti e presentazioni utilizzate il forum Discussioni Generali e Presentazioni.
Rispondi
AGProject
Messaggi: 24
Iscritto il: martedì 25 luglio 2017, 15:18

[Risolto] Calc: condizione IF in un range di valori

Messaggio da AGProject »

Ciao a tutti,
a forza di "smanettare" con le macro Calc sto riuscendo a costruire ciò di cui ho bisogno (grazie anche al vostro aiuto).
Vorrei chiedervi un'altra cosa. Sto costruendo una macro di cui vi riporto la parte essenziale:

FoglioCorrente = ThisComponent.Sheets(1)
FoglioDB = ThisComponent.Sheets(2)
If FoglioDB.getCellByPosition(1,3).Formula >0 and < Ricevuta.Formula then
MsgBox "Il valore è maggiore di 0 e minore di Ricevuta"
EndIf

Il mio problema è che questo messaggio non viene visualizzato: sembra che questa istruzione venga saltata, però non mi da errore.
Mi chiedo: ho indicato chiaramente che il valore di "FoglioDB.getCellByPosition(1,3).Formula" dev'essere compreso tra 0 e "Ricevuta.Formula"?
Grazie per l'aiuto.
Alessandro
Ultima modifica di AGProject il venerdì 4 agosto 2017, 16:34, modificato 1 volta in totale.
OpenOffice 4.1.3 installato su Windows10 (notebook)
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Calc: condizione IF in un range di valori

Messaggio da charlie »

Ciao, io proverei:

Codice: Seleziona tutto

If FoglioDB.getCellByPosition(1,3).Formula >0 and FoglioDB.getCellByPosition(1,3).Formula < Ricevuta.Formula then
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
AGProject
Messaggi: 24
Iscritto il: martedì 25 luglio 2017, 15:18

Re: Calc: condizione IF in un range di valori

Messaggio da AGProject »

Ciao Charlie,
piacere di ritrovarti.
Per la verità avevo già provato quella soluzione e, per sicurezza, l'ho riprovata facendo copia-incolla con il tuo codice.
Purtroppo non fa nulla: ignora l'istruzione (senza darmi alcun errore) e prosegue con le successive verifiche.
Strano, anche perché tra le istruzioni IF è quella che si avvera per prima.
Alessandro
OpenOffice 4.1.3 installato su Windows10 (notebook)
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8819
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Calc: condizione IF in un range di valori

Messaggio da charlie »

Può essere che il valore è fuori del range e quindi l'istruzione viene saltata?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
AGProject
Messaggi: 24
Iscritto il: martedì 25 luglio 2017, 15:18

Re: Calc: condizione IF in un range di valori

Messaggio da AGProject »

Ciao Charlie,
alla fine ho risolto il problema.
La sintassi seguente ho visto che non funziona:

If FoglioDB.getCellByPosition(1,3).Formula >0 and FoglioDB.getCellByPosition(1,3).Formula < Ricevuta.Formula then

E' strano perché i valori di "FoglioDB.getCellByPosition(1,3).Formula" variano sempre da 1 a 5.
Però scrivendo:

If FoglioDB.getCellByPosition(1,3).Formula <> 0 and FoglioDB.getCellByPosition(1,3).Formula < Ricevuta.Formula then

funziona.
Quindi, da quello che ho capito, non gli piace la verifica >0 (anche se non capisco perché): preferisce verificare che la cella non sia vuota.
Mah!
Grazie comunque.
Alessandro.
OpenOffice 4.1.3 installato su Windows10 (notebook)
Rispondi