Verwenden Sie SVERWEIS in einen dynamischen Bereich mit VBA
Ich versuche zum einrichten von VB also kann ich einen SVERWEIS auf einen dynamischen Wertebereich. Werde es so beginnen Sie immer am gleichen Ort, aber es kann am Ende weiter unten, basierend auf was auch immer Wert in H4.
EDIT: Hier der code und es funktioniert.
Danke Alex!
Public Sub State()
Dim refRng As Range, ref As Range, dataRng As Range
Dim i As Variant
Dim count As Integer
i = Sheet2.Range("H1").Value
i = i + 3 'offset of when to start
Set refRng = Sheet2.Range("D8:" & Cells(8, i).Address) '//horizontal range of look up values
Set dataRng = Sheet13.Range("A:C") '//data block you want to look up value in
For Each ref In refRng
ref.Offset(1, 0) = Application.WorksheetFunction.VLookup(refRng, dataRng, 2, True)
Next ref
End Sub
- Was macht WorksheetFunction.SVERWEIS zurückgeben? und was ist ref.Offset zu tun? Ich dachte, der ref war, wo meine Ausgabe gehen würde, aber es scheint nicht, wie das der Fall ist, wenn ich mit ihm spielen.
- Bitte deutlicher erklären, was deine Daten Aussehen, und was Sie erwarten, um mit einigen Probe-Eingänge.
WorksheetFunction.VlookUp
gibt den Wert, den Sie versuchen, zu finden, basierend auf Werte in der Zeile beginnend beiD8
.Offset
legt einfach den Rückgabewert der Zeile untenD8
etc.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann dies helfen:
Hier können Sie Verweise auf die lookup-Werte und die Daten, die Sie Abfragen möchten. Dann einfach Durchlaufen, die Werte in den horizontalen Bereich und suchen Sie nach dem Wert.