Finde die letzte nicht leere Zeile in einem Bereich von Zellen, die eine Formel enthalten

8

Wie kann ich die letzte Zeile in einem Bereich von Zellen finden, die eine Formel enthalten, wobei das Ergebnis der Formel ein tatsächlicher Wert und nicht leer ist?

Sagen Sie vereinfacht, dass der Bereich der Zellen ("E1:E10") eine Formel enthält, die sich auf die Zellen A1 bis A10 wie folgt bezieht =IF("A1"="","","A1") . Aber nur die Zellen A1 bis A6 haben einen Wert ausgefüllt, so dass das Ergebnis der Formel für die Zellen E7 bis E10 leer ist.

Versuchen Sie es mit:

%Vor%

führt dazu, dass lastRow den Wert von 10 hat. Was ich möchte ist, dass der Wert von lastRow in diesem Beispiel 6 ist.

Der eigentliche Code ist viel komplexer als dieser, so dass ich nicht einfach nach der letzten Zeile in Spalte A suchen kann, da sich die Formeln auf einzelne Zellen auf verschiedenen Blättern beziehen und dynamisch hinzugefügt werden.

    
Pascale 28.11.2015, 12:18
quelle

3 Antworten

6

Ich denke, ein eleganterer Weg als% @D_Bester besteht darin, die Option find() zu verwenden, ohne den Zellbereich durchzulaufen:

%Vor%

testen

Außerdem ist eine kürzere Version des oben angegebenen Codes:

%Vor%     
Vasily 28.11.2015, 17:49
quelle
5

Sie möchten die letzte Zelle in einer Spalte finden, die nicht leer UND keine leere Zeichenfolge ("") ist.

Folgen Sie einfach dem LastRow mit einer Schleife, die nach einer nicht leeren Zelle sucht.

%Vor%

Beachten Sie, dass Ihr Rows.count nicht angibt, welches Blatt. Das bedeutet, dass das aktive Blatt verwendet wird. Natürlich ist ActiveSheet.Range() auch auf dem aktiven Blatt. Es ist jedoch eine schlechte Vorgehensweise, Range oder Rows mit .Range oder .Rows zu mischen. Es deutet auf eine gedankenlose Verwendung hin, die Sie bei einer Änderung von ActiveSheet anstecken könnte, ohne dass die unspezifizierte Referenz geändert wurde.

    
D_Bester 28.11.2015 12:39
quelle
2

Dies sollte Ihnen helfen, die letzte Zeile zu ermitteln, die eine Formel enthält (in der Spalte A auf Blatt1 Sheet1 ):

%Vor%

SpecialCells wird verwendet, um den Bereich aller Zellen zu bestimmen, die eine Formel enthalten. Dieser Bereich wird dann mit Split analysiert. Mit Ubound wird die letzte dieser Zellen abgerufen. Das Ergebnis wird erneut geteilt, um die Zeilennummer zu extrahieren.

    
Ralph 28.11.2015 12:27
quelle

Tags und Links