Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: letzte Zeile in Spalte mit bestimmten wert

letzte Zeile in Spalte mit bestimmten wert
07.08.2008 10:12:34
Jakob
Hallo,
wie kann ich per VBA die letzte Zeile in der Spalte P ermitteln die den Wert "x" enthält?
Vielen Dank schon mal.
Gruß,
Jakob

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: letzte Zeile in Spalte mit bestimmten wert
07.08.2008 10:20:00
serge
Hallo Jakob
versuch es so:

Sub suchen()
Range("P65536").Select
Selection.End(xlUp).Select
Do Until ActiveCell = "x"
ActiveCell.Offset(-1, 0).Range("A1").Select
Loop
End Sub


Gruss Serge

AW: letzte Zeile in Spalte mit bestimmten wert
07.08.2008 10:20:46
Ramses
Hallo
Entweder eine Schleife mit der Find-Methode oder ganz rudimentär

Sub FindP()
Dim lRow As Long
For i = 1 To Cells(Rows.Count, 16).End(xlUp).Row
If Cells(i, 16) = "x" Then
lRow = i
End If
Next i
MsgBox "Letzes X in Zeile: " & lRow
End Sub


Gruss Rainer

Anzeige
AW: letzte Zeile in Spalte mit bestimmten wert
07.08.2008 10:20:00
Rudi
Hallo,
bspw. so:

Sub tt()
Dim iMax As Long, i As Long
For i = Cells(Rows.Count, 16).End(xlUp).Row To 1 Step -1
If Cells(i, 16) = "x" Then
iMax = i
Exit For
End If
Next
MsgBox iMax
End Sub


Gruß
Rudi

AW: letzte Zeile in Spalte mit bestimmten wert
07.08.2008 11:19:00
Jakob
Vielen Dank an alle für die schnelle Hilfe.
Es funktioniert wunderbar.
Grüße,
Jakob

Anzeige
So z. B.
07.08.2008 10:26:01
backowe
Hallo Jakob,
VBA-Code:
Sub LetzesXinSpalteP()
MsgBox Evaluate("=LOOKUP(2,1/(P1:P65535=""X""),ROW(P:P))")
End Sub
Gruss Jürgen
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zeile in einer Spalte mit einem bestimmten Wert finden


Schritt-für-Schritt-Anleitung

Um die letzte Zeile in einer bestimmten Spalte (zum Beispiel Spalte P) zu finden, die einen bestimmten Wert, wie "x", enthält, kannst Du folgende VBA-Methoden nutzen. Hier sind die Schritte:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu:

    • Rechtsklicke im Projektfenster auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.
  3. Kopiere und füge den folgenden Code ein:

    Sub LetzteZeileMitWert()
       Dim lRow As Long
       Dim Wert As String
       Wert = "x" ' Der gesuchte Wert
    
       For i = Cells(Rows.Count, 16).End(xlUp).Row To 1 Step -1
           If Cells(i, 16) = Wert Then
               lRow = i
               Exit For
           End If
       Next i
    
       MsgBox "Letzte Zeile mit Wert '" & Wert & "': " & lRow
    End Sub
  4. Führe das Makro aus:

    • Drücke F5 oder wähle Ausführen aus dem Menü.

Häufige Fehler und Lösungen

  • Fehler: Das Makro findet nicht die richtige Zeile.

    • Lösung: Stelle sicher, dass der gesuchte Wert exakt mit dem in der Zelle übereinstimmt (Groß- und Kleinschreibung beachten).
  • Fehler: Der Wert wird nicht gefunden.

    • Lösung: Überprüfe, ob die Zellen in der Spalte tatsächlich den gesuchten Wert enthalten. Nutze die Funktion MsgBox zur Fehlersuche.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, die letzte Zeile mit einem bestimmten Wert in Excel zu finden:

  1. Verwendung der Find-Methode:

    Sub FindenMitFindMethode()
       Dim rng As Range
       Set rng = Cells.Find(What:="x", After:=Range("P1"), LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
    
       If Not rng Is Nothing Then
           MsgBox "Letzte Zeile mit Wert 'x': " & rng.Row
       Else
           MsgBox "Wert nicht gefunden!"
       End If
    End Sub
  2. Formel in Excel: Du kannst auch eine Formel verwenden, um die letzte Zeile mit einem bestimmten Wert zu ermitteln:

    =LOOKUP(2,1/(P1:P65535="x"),ROW(P1:P65535))

Praktische Beispiele

  • Wenn Du den Wert "x" in Spalte P hast und die letzte Zeile ermitteln möchtest, kannst Du das obige Makro oder die Formel verwenden.
  • Ein weiteres Beispiel könnte sein, einen Wert in Spalte A zu suchen und die letzte Zeile in der Spalte B zu finden.

Tipps für Profis

  • Verwende Variablen für die Spaltennummer, um Deinen Code flexibler zu gestalten.
  • Nutze Application.ScreenUpdating = False, um die Bildschirmaktualisierung während der Ausführung des Makros zu deaktivieren, was die Ausführungsgeschwindigkeit erhöht.

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True

FAQ: Häufige Fragen

1. Frage Wie finde ich die letzte Zeile in einer anderen Spalte?

Antwort: Ändere die Zahl in Cells(Rows.Count, 16) auf die entsprechende Spaltennummer (z.B. 17 für Spalte Q).

2. Frage Kann ich das Makro für mehrere Werte gleichzeitig anpassen?

Antwort: Ja, Du kannst eine Schleife verwenden, um mehrere Werte zu überprüfen und die letzte Zeile für jeden Wert zu ermitteln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige