Articles

Letzte benutzte Zeile (Letzte benutzte Spalte) in Excel mit Formel (ohne VBA)

Posted on

Die letzte Zeile einer bestimmten Spalte in Excel zu ermitteln, ist einfach mit einer benutzerdefinierten Funktion in VBA möglich:

lastRow.vb

Visual Basic

1
2
3
4
5

Function LastRow(wsName As String, Optional columnToCheck As Long = 1) As Long
Dim ws As Worksheet
Set ws = Worksheets(wsName)
LastRow = ws.Cells(ws.Rows.Count, columnToCheck).End(xlUp).Row
End Function

Es gibt noch zwei weitere Formeln, die die zuletzt verwendete Zelle in einer gegebenen Zeile ermitteln würden, je nachdem, ob es sich um eine numerische oder eine Zeichenfolge handelt:

Formeln.vb

Visual Basic

1
2

=IFERROR(MATCH(E1+99,A:A),0)
=IFERROR(MATCH(„zzz“,A:A),0)

Das erste liefert die zuletzt verwendete numerische Zeile und das zweite die zuletzt verwendete nicht-numerische Zeile. Für die zuletzt verwendete numerische/nicht-numerische Zeile könnte eine Vereinigung dieser verwendet werden:

Formel.vb

Visual Basic

1
=MAX(IFERROR(MATCH(E1+99,A:A),0),IFERROR(MATCH(„zzz“,A:A),0))

Es gibt jedoch ein kleines Problem – wenn die letzte Zelle ein Fehler ist, gibt die MAX()-Formel nicht die letzte Zelle zurück. Im folgenden Beispiel liefert sie 6 und nicht 7 :

Die vier ultimativen Formeln, die immer für die letzten „Dinge“ funktionieren, sind also die folgenden:

Zur Ermittlung der Zeilen/Spalten:

Letzte Zeile der Spalte A

LastRow.vb

Visual Basic

1
=IFERROR(LOOKUP(2,1/(NOT(ISBLANK(A:A)),ROW(A:A)),0)

Letzte Spalte der ersten Zeile

LetzteSpalte.vb

Visual Basic

1
=IFERROR(LOOKUP(2,1/(NOT(ISBLANK(1:1))),COLUMN(1:1)),0)

Werte ermitteln

Letzte Zeile Wert der Spalte A

LastUsedRow.vb

Visual Basic

1
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)

Letzte Spalte Wert der ersten Zeile

LastColumnValue.vb

Visual Basic

1
=LOOKUP(2,1/(NOT(ISBLANK(1:1))),1:1)

GitHub letzte Dinge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.