SVerweis in VBA

Bild

Betrifft: SVerweis in VBA von: Fabian
Geschrieben am: 11.04.2005 08:55:18

Halo Excel-Gemeinde,

wie kann ich einen SVerweis der Art

=SVERWEIS('Tab1'!B2;Tab4!$A$2:$B$107;2;0)

als VBA-Prozedur darstellen?

Gruß, Fabian

Bild


Betrifft: VBA-Sverweis = vlookup von: c0bRa (oT)
Geschrieben am: 11.04.2005 08:59:35

selber syntax


Bild


Betrifft: AW: VBA-Sverweis in VBA von: Fabian
Geschrieben am: 11.04.2005 09:32:55

Hm, hatte gehofft, Ihr könntet mir evtl bei der Erstellung der Prozedur etwas helfen...


Bild


Betrifft: AW: VBA-Sverweis in VBA von: Stefan Hillenbrand
Geschrieben am: 11.04.2005 10:55:37

Hallo Fabian,

Sub Fabian()
'
' Fabian Makro
' mit dem Makrorecorder aufgezeichnet
'
'
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Tabelle2!R1C1:R3C2,2,0)"
End Sub


Gruß Stefan


Bild


Betrifft: AW: VBA-SVerweis in VBA von: Fabian
Geschrieben am: 11.04.2005 11:09:26

Hi Stefan,

erstmal herzlichen Dank. Wie wähle ich denn die Spalte aus, in der die Prozedur ausgeführt werden soll? Und wofür steht in der Klammer "RC[-1]"?

Bis hierhin bin ich gekommen:

Sub Fabian()
Sheets("Tab2").Select
Columns("B.B").Select
VLOOKUP(?,Tab3!A2:B107,2,0)
End Sub


Gruß, Fabian


Bild


Betrifft: AW: VBA-SVerweis in VBA von: Stefan Hillenbrand
Geschrieben am: 11.04.2005 11:36:18

Hallo Fabian,

habe das Makro umgeändert:

Option Explicit

Sub Fabian()
Dim Z As Long
Sheets("Tab2").Select
'Beginn Z in der Zeile 1 bei Bedarf umändern
'Ende Z ist die letzte beschriebene Zelle in der Spalte A
For Z = 1 To Worksheets("Tab2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Tab2").Cells(Z, 2).FormulaR1C1 = "=vlookup(RC[-1],Tab3!R2C1:R107C2,2,0)"
Next Z
End Sub


Für RC[-1] laß das Makro einmal laufen, und sieh dir die Fromel in Excel an, dann dürfste draufkommen.

Gruß Stefan


Bild


Betrifft: AW: VBA-SVerweis von: Fabian
Geschrieben am: 11.04.2005 12:56:06

Vielen Dank, komme der Sache schon näher. Im Moment ist in der "Worksheets"-Zeile noch ein Syntaxfehler drin. Irgendwo müßte doch auch die Tab1 rein, aus der die Daten ja kommen. Noch 'ne Idee?

Sub Fabian()
Dim Z As Long
Sheets("Tab2").Select
For Z = l To Worksheets("Tab2").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Tab2").Cells(Z, 2).FormulaR1C1(RC[-1],Tab3!A2:B107,2,0)
Next Z
End Sub


VG, Fabi


Bild


Betrifft: AW: VBA-SVerweis von: Stefan Hillenbrand
Geschrieben am: 11.04.2005 13:12:09

Hallo Fabian,

hab dir mal die Online-Hilfe zum Sverweis rauskopiert

" ....SVERWEIS(Suchkriterium;Matrix;Spaltenindex;Bereich_Verweis)

Suchkriterium ist der Wert, der in der ersten Matrixspalte gefunden werden soll. Suchkriterium kann ein Wert, ein Bezug oder eine Textzeichenfolge sein.

Matrix ist die Tabelle mit Informationen, in der die Daten nachgeschlagen werden. Verwenden Sie einen Bezug auf einen Bereich oder einen Bereichsnamen wie beispielsweise Datenbank oder Liste.

Wenn Bereich_Verweis WAHR ist, müssen die Werte in der ersten Spalte von Matrix in aufsteigender Reihenfolge angeordnet werden: ..., -2, -1, 0, 1, 2, ..., A-Z, FALSCH, WAHR; andernfalls liefert SVERWEIS möglicherweise nicht den richtigen Wert zurück. Wenn Bereich_Verweis FALSCH ist, muss Bereich_Verweis nicht sortiert werden.


Sie können die Werte in aufsteigender Reihenfolge anordnen, indem Sie den Befehl Sortieren aus dem Menü Daten verwenden und dann Aufsteigend wählen.


Bei den Werten in der ersten Spalte von Matrix kann es sich um Text, Zahlen oder logische Werte handeln.


Text in Groß- und Kleinbuchstaben ist gleichwertig.
Spaltenindex ist die Spaltennummer in Matrix, aus der der entsprechende Wert zurückgegeben werden muss. Ein Spaltenindex von 1 gibt den Wert der ersten Spalte in Matrix zurück; ein Spaltenindex von 2 gibt den Wert der zweiten Spalte von Matrix zurück usw. Wenn Spaltenindex kleiner 1 ist, gibt SVERWEIS den Fehler #WERT! zurück; wenn Spaltenindex größer als die Anzahl der Spalten in Matrix ist, gibt SVERWEIS den Fehlerwert #BEZUG! zurück.

Bereich_Verweis ist ein logischer Wert, der angibt, ob SVERWEIS eine genaue oder eine ungefähre Entsprechung suchen soll. Wenn dieser Parameter WAHR ist oder weggelassen wird, wird eine ungefähre Entsprechung zurückgegeben. Anders ausgedrückt, wird der nächstgrößere Wert zurückgegeben, der kleiner als Suchkriterium ist, wenn keine genaue Entsprechung gefunden wird. Wenn der Parameter FALSCH ist, sucht SVERWEIS eine genaue Entsprechung. Wenn keine gefunden wird, wird der Fehlerwert #NV zurückgegeben. ...
Kopie Ende

Die Daten kommen im Code aus der Tab3, und nicht aus der Tab1!

Gruß Stefan


 Bild

Beiträge aus den Excel-Beispielen zum Thema "SVerweis in VBA"