Listobject ..find.. Suchbereich begrenzen
21.08.2018 15:54:16
Renan
ich habe eine Tabelle die wie folgt aufgebaut ist:
JAHR, N, WERT
2018, 1, A
2018, 2, B
2018, 3, C
2018, 4, D
... ...
2018, 52, AE
2019, 1, AF
2019, 2, AG
2019, 3, AH
2019, 4, AI
... ...
2019 52 BQ
Nun möchte ich in den Wert aus Spalte [WERT] für ein bestimmtes [JAHR] und eine bestimmtes [N] in Erfahrung bringen. Wie kann das dies tun?
Ich habe also zwei Suchkriterien. Als Beispiel mit obiger Tabelle:
1) "JAHR" = "2019" und dann innerhalb den Spalten in denen 2019 vorkommt nach :
2) "N" = "3" suchen, so dass der Wert "AH" zurückgegeben wird.
Bisher hatte ich mit folgendem Makro gearbeitet und zwar so:
- Suche nach Suchbegriff: SearchVar
- Gebe die Zeilennummer "X" in der SearchVar steht zurück (unterer Code)
- Lese aus der Tabelle den Eintrag aus der gewünschten Spalte aus Zeile X
- fertig
Hat auch so lange ich nur ein Suchkriterium hatte funktioniert.
Function GetRowNumber(WorkbookName As String, lstObjName As String, tblHeader As String, _
SearchVar As String) As Long
Dim listObj As ListObject, rng As Range
Set listObj = ActiveWorkbook.Sheets(WorkbookName).ListObjects(lstObjName)
With listObj.ListColumns(tblHeader).DataBodyRange
Set rng = .Cells.Find(What:=SearchVar, LookAt:=xlWhole, SearchDirection:=xlNext, After:=. _
Cells(.Rows.Count, 1))
End With
If Not rng Is Nothing Then GetFirstRowNumber = rng.Row
End Function
Nun muss ich aber nach 2 Bedingungen suchen und ich weiß leider nicht wie ich das anstellen soll.Würde mich extrem über eure Hilfe freuen!
MfG,