Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1252to1256
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

WorksheetFunction.Vlookup Suche von unten beginnen

WorksheetFunction.Vlookup Suche von unten beginnen
unten
Hi,
die WorksheetFunction.Vlookup (Bereich_Verweis = FALSE) sucht in der 1. Spalte einer Matrix nach dem zu erstvorkommenden gesuchten Wert und gibt aus dieser Zeile einen Wert zurück. Gibt es eine Möglichkeit den zuletzt vorkommenden gesuchten Wert in einer Spalte zu finden ohne mit Schleifen zu arbeiten?
Im Grunde Vlookup soll von unten nach oben beginnen zu suchen.
Danke für jegliche Information
PS:
Die Matrix von mir wächst täglich um ca. 100 Zeilen, daher würde eine Schleife irgendwann mal zu lange dauern...
Gruß
Lombe

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

Betreff
Benutzer
Anzeige
AW: WorksheetFunction.Vlookup Suche von unten beginnen
24.02.2012 10:08:00
unten
Hallo,
Function SVERWEIS2(strMatch As String, rngMatch As Range, lngMatch As Long)
'Parameter wie SVerweis
Dim lngTmp&, blnFound As Boolean
Dim lngFirstRow As Long, lngLastRow As Long, lngColumn As Long
Dim wks As Worksheet
Set wks = rngMatch.Parent
lngFirstRow = rngMatch.Cells(1).Row
lngColumn = rngMatch.Cells(1).Column
lngLastRow = lngFirstRow + rngMatch.Rows.Count - 1
With wks
If Application.CountIf(rngMatch, strMatch) = 0 Then SVERWEIS2 = "#n/a": Exit Function
lngTmp = (lngFirstRow + lngLastRow) / 2
If lngLastRow > lngFirstRow + 1 Then
If Application.CountIf(.Range(.Cells(lngTmp, lngColumn), .Cells(lngLastRow, lngColumn)),  _
strMatch) > 0 Then
lngFirstRow = lngTmp
blnFound = True
End If
If Not blnFound And _
Application.CountIf(.Range(.Cells(lngFirstRow, lngColumn), .Cells(lngTmp, lngColumn)),  _
strMatch) > 0 Then
lngLastRow = lngTmp
End If
Set rngMatch = wks.Range(wks.Cells(lngFirstRow, lngColumn), wks.Cells(lngLastRow,  _
lngColumn))
SVERWEIS2 strMatch, rngMatch, lngMatch
End If
End With
SVERWEIS2 = rngMatch.Columns(lngMatch)
End Function

Gruß
Rudi
Anzeige
AW: WorksheetFunction.Vlookup Suche von unten beginnen
27.02.2012 16:37:47
unten
Hi Rudi,
hab die Funktion SVERWEIS2 für meinen Fall getestet. Passt, danke!!
Alternativ sollte ich vielleicht grundsätzlich meine Matrix oben befüllen lassen, so dass die neuesten Einträge oben eingefügt werden anstatt unten dran gehängt werden, dann passts auch wieder mit normalen vlookup. Mal schauen
Gruß und danke nochmal
Lombe

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige