La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno e grazie per avermi accettato.
Ho un foglio excel con diverse routine in VBA e tra questa una funzione per verificare se l'anno di una data è bisestile o meno. Il tutto funziona perfettamente, tranne che qualunque routine, anche senza alcuna data, richiama ad ogni passaggio la funzione, il che rallenta notevolmente il flusso.
Non riesco a capire perché: potete aiutarmi?
Grazie
ciao
dovresti allegare il file
o almeno scrivere la funzione
che ti crea problemi
@gianfranco55 La function è la seguente:
Public Function Bisestile(Anno As Integer) As Boolean
'Restituisce: Vero/Falso se l'anno è/non è bisestile
Bisestile = ((Anno Mod 4) = 0 And (Anno Mod 100)) Or (Anno Mod 400) = 0
End Function
Non posso allegare il file perché contiene dati sensibili.
Grazie
ciao
se usi delle date le celle vuote vengono considerate
00/01/1900 perciò le calcola
escludile
esempio semplificato
=SE(B1="";"";Bisestile(ANNO(B1)))
però
onestamente ci sono formule
che permettono di fare la stessa cosa
=SE(B1>0;SE(GIORNO(DATA(ANNO(B1);3;0))=29;"SI";"NO");"")
@gianfranco55 Grazie mille, Gianfranco! il problema è che la funzione è richiamata quando il codice VBA opera su fogli in cui ci sono anche celle con date, ma non su specifiche celle vuote o meno. Ad esempio se faccio copiare l'intero foglio, il codice passa dalla funzione e non capisco perché.