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
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
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
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
| VBA-Code: |
| Sub LetzesXinSpalteP() MsgBox Evaluate("=LOOKUP(2,1/(P1:P65535=""X""),ROW(P:P))") End Sub Gruss Jürgen |
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:
Öffne den Visual Basic for Applications (VBA) Editor:
ALT + F11 in Excel.Füge ein neues Modul hinzu:
VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.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
Führe das Makro aus:
F5 oder wähle Ausführen aus dem Menü.Fehler: Das Makro findet nicht die richtige Zeile.
Fehler: Der Wert wird nicht gefunden.
MsgBox zur Fehlersuche.Es gibt verschiedene Möglichkeiten, die letzte Zeile mit einem bestimmten Wert in Excel zu finden:
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
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))
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
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.