Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListObject nach Wert durchsuchen,unterster Treffer

ListObject nach Wert durchsuchen,unterster Treffer
15.08.2018 14:33:31
Renan
Hallo zusammen,
ich benötige wieder einmal eure Hilfe :) Ich möchte mich bei dieser Gelegenheit auch noch einmal bei allen für die tolle Unterstützung bedanken! Dieses Forum ist wirklich super!
Zu meinem Vorhaben:
Ich habe einen Listenbereich mit dem Namen "tblProjekte". Dort möchte ich in der Spalte "Name" nach einem bestimmten Eintrag (im Beispiel: "Projekt B") suchen und die Zeilennummer der untersten Zelle, die diesen Eintrag enthält, zurückgeben. (Damit ich in einem Makro eine neue Zeile unter diesem Eintrag anlegen kann. Erforderlich für weitere Bearbeitung des Projektes)
Zu meinem Problem:
Es gibt mehrere Einträge die "Projekt B" heißen. Also die Variable nach der ich suche taucht in mehreren Zeilen innerhalb der durchsuchten Spalte auf.
Mein derzeitiger Code läuft nur bis er den ersten Eintrag findet und bricht dann ab. Ergo kriege ich die Zeilennummer des ersten (obersten) Listen-Eintrages das meinem Suchwert entspricht und nicht wie gewünscht die Zeilennummer des letzten (untersten) Listen-Eintrages das meinem Suchwert entspricht.
Wie kann ich mein Code verändern, damit er die Zeilennummer des untersten Eintrages liefert?
Mein derzeitiger Code:

Function GetRowNumber(lstObjName As String, tblHeader As String, SearchVar As String) As  _
Integer
Dim lstObj As ListObject
Dim Output As Variant
Set listObj = ActiveSheet.ListObjects(lstObjName)
GetRowNumber = listObj.ListColumns(tblHeader).DataBodyRange.Cells.Find(What:=SearchVar).Row
End Function

Bei meiner derzeitigen Tabelle sind die Eintrage E8:E10 alle = "Projekt B".
Nachdem ich den obigen Code ausführe, sprich:
Sub TestAusgabe()
MsgBox GetRowNumber("tblProjekte", "Name", "Projekt B")
End Sub

kriege ich "8" zurück. Ich möchte aber "10". Also die Zeilennummer des untersten Eintrages.
MfG,

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListObject nach Wert durchsuchen,unterster Treffer
15.08.2018 14:46:54
Sepp
Hallo Renan,
probier mal so.
Function GetRowNumber(lstObjName As String, tblHeader As String, SearchVar As String) As Long
Dim listObj As ListObject, rng As Range

Set listObj = ActiveSheet.ListObjects(lstObjName)

With listObj.ListColumns(tblHeader).DataBodyRange
  Set rng = .Cells.Find(What:=SearchVar, SearchDirection:=xlPrevious, After:=.Cells(.Rows.Count, 1))
End With

If Not rng Is Nothing Then GetRowNumber = rng.Row

End Function

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: ListObject nach Wert durchsuchen,unterster Treffer
15.08.2018 16:22:01
Renan
Hallo Sepp,
hat prima funktioniert! Vielen lieben Dank!
MfG,

186 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige