Come posso trovare l'ultima riga in un intervallo di celle che contiene una formula, in cui il risultato della formula è un valore effettivo e non vuoto?Trova l'ultima riga non vuota in un intervallo di celle con una formula
Dire in modo semplificato che l'intervallo di celle ("E1:E10")
contiene una formula che fa riferimento alle celle da A1 a A10 come seguito =IF("A1"="","","A1")
. Ma solo le celle da A1 a A6 hanno un valore inserito, quindi il risultato della formula per le celle da E7 a E10 sarà vuoto.
Cercando di farlo con:
lastRow = ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row
risultati in lastRow che ha il valore di 10
. Quello che voglio è che il valore di lastRow sia 6
in questo esempio.
Il codice effettivo è molto più complesso di così non posso semplicemente controllare l'ultima riga compilata della colonna A, poiché le formule si riferiscono a singole celle su fogli diversi e vengono aggiunte dinamicamente.
sì, questo è molto elegante! Grazie a @Visily – Rosetta
Funziona alla grande ed è stato più quello che stavo cercando. Ho solo una domanda, qual è il significato della e commerciale '&' nella dichiarazione della variabile 'i'? (Poiché sembra funzionare allo stesso modo senza la e commerciale) – Pascale
@Pascale significa 'Dim i as Long', se si rimuoverà' & 'allora' i' sarà dichiarato 'come Variant'. È solo un metodo di codifica abbreviata, ad es. '%' è 'Integer',' & 'è' Long', '$' è 'String',' @ 'è' Currency', '!' è 'Single',' # 'è' Double', se non lo è specificato quindi 'Variant' – Vasily