Ciao a tutti
vi scrivo per avere consiglio riguardo il comportamento di una funzione che ho scritto per ottenere il numero di righe totale di un elenco, del quale non so a priori quale colonna sia più lunga. Non potendo usare la solita strategia End(xlUp) perchè sotto l'elenco ci possono essere altre informazioni (non ho progettato io il foglio) ho sfruttato la proprietà CurrentRegion della cella(che viene passata come parametro) per determinare il range dell'elenco e quindi ricavarne la lunghezza .
La funzione va benissimo fintanto che la utilizzo lanciandola all'interno di una macro e restituisce sempre il risultato corretto ma quando, solo per il gusto di farlo, ho provato ad usarla come funzione personalizzata sul foglio di excel si comporta in modo diverso: la proprità CurrentRegion.Rows.Count restituisce sempre 1, indipendentemente dall'elenco a cui la cella appartiene.
Non sono in nessun modo riuscito a comprenderne la ragione e sarei molto grato se qualcuno potesse chiarirmi il motivo di questa differenza di comportamento.
Allego un file di esempio in cui la funzione viene appunto usata come formula oppure lanciata da una macro.
Grazie
ciao
pietrol
http://www.filedropper.com/funzione