Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: SVERWEIS in VBA - aber nicht alleine

SVERWEIS in VBA - aber nicht alleine
24.10.2017 15:50:46
Wokesay
Hallo,
ich habe eine Formel um einen Zellenwert mit Werten einer Liste zu vergleichen, also eine Klassische SVERWEIS Abfrage.
Nun würde ich diese gerne in VBA Code wandeln, da die Tabelle nicht gesperrt werden darf und sonst unnötig die Datenqualität leidet.
Die Formel lautet: =WENNFEHLER(WENN(SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);"");"")
Am liebsten sogar kein einfügen der Formel in die passende Zelle, sondern nur das Ergebnis dort lassen :)
In A stehen Kundennummern z.b. 8647169
in B soll das Ergebnis stehen
in der Mappe KBK
steht in A eine Auswahl von Kundennummern
in B jeweils der zu übernehmende Wert z.b. 1,2,3
Kann mir dabei jemand helfen?
Ich verzweifel hier seit ca 4 Stunden :P
VG Timo
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
24.10.2017 16:17:39
Luschi
Hallo Wokesay,
für die Tabellefunktion SVerweis() gibt es auch eine Vba-Variante WorksheetFunction.VLookup().
Hier ein kleines Beispiel dazu:
https://www.herber.de/bbs/user/117197.xlsm
Gruß von Luschi
aus klein-Paris
PS: 4 Stunden probieren?!? Da hätte doch googeln mit 'sverweis Vba' mehr gebracht!
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
24.10.2017 16:20:03
Wokesay
Hallo Luschi,
ich habe wohl google bemüht, aber bin genau an deinem Beispiel hängen geblieben...
Ich habe in den 4h versucht meine ganze Formel in VBA Code umzubauen.
VG Timo
AW: SVERWEIS in VBA - aber nicht alleine
24.10.2017 16:28:00
Luschi
Hallo Timo,
da mußt Du schon ein bischen mehr zeigen in Form eine kleinen Mustermappe;
sowas baut Dir sicher niemand nach, um dann zu testen.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
25.10.2017 00:40:48
Werner
Hallo Wokesay,
und warum schreibst du nicht einfach deine SVERWEIS-Formel per VBA in deinen Zellbereich und ersetzt dann das Formelergebnis durch die Werte.
Den Blattnamen musst du an deine Gegebenheiten anpassen.
Den Bereich in den die Formel eingetragen wird habe ich mal von B2 bis B letzte belegte Zelle in Spalte A gewählt, da ich davon ausgegangen bin, dass in Zeile 1 Überschriften vorhanden sind.
Public Sub test()
Dim loLetzte As Long, raBereich As Range
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(2, 2), .Cells(loLetzte, 2))
raBereich.FormulaLocal = "=WENNFEHLER(WENN(SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2; _
FALSCH);" _
& "SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);"""");"""")"
raBereich.Value = raBereich.Value
End With
set raBereich = Nothing
End Sub
Gruß Werner
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
25.10.2017 00:49:14
Werner
Hallo Wokesay,
nimm lieber den Code hier. Beim anderen habe ich beim Einfügen nicht aufgepasst und die Forensoftware hat eine Zeilenumbruch rein gehauen.
Public Sub test()
Dim loLetzte As Long, raBereich As Range
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(.Cells(2, 2), .Cells(loLetzte, 2))
raBereich.FormulaLocal = _
"=WENNFEHLER(WENN(SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH)" _
& ";SVERWEIS(A2;'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);"""");"""")"
raBereich.Value = raBereich.Value
End With
End Sub
Gruß Werner
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
25.10.2017 10:29:41
Wokesay
Hallo Werner,
ich habs gerade ausprobiert und es läuft!
Vielen Dank. Die finale Variante sieht jetzt so aus...
Dim raBereich As Variant
Set raBereich = Worksheets("Quelle").Cells(lastrow + 1, 8)
raBereich.FormulaLocal = "=WENNFEHLER(WENN(SVERWEIS(Datentransfer!L30;"_
& "'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);SVERWEIS(Datentransfer!L30;"_
& "'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);"""");"""")"
raBereich.Value = raBereich.Value
Set raBereich = Nothing
War dann am Ende ja doch recht einfach, aber drauf gekommen wäre ich sicher nie!
1000 Dank und schönen Tag
Anzeige
AW: SVERWEIS in VBA - aber nicht alleine
25.10.2017 12:59:31
Werner
Hallo Wokesay,
-warum raBereich as Variant?
-wenn du die Formel nur in einer Zelle brauchst dann so
Public Sub test()
Dim lastrow As Long
With Worksheets("Quelle").Cells(lastrow + 1, 8)
.FormulaLocal = "=WENNFEHLER(WENN(SVERWEIS(Datentransfer!L30;'KBK-Zuständigkeit'!" _
& "$A$2:$B$99999;2;FALSCH);SVERWEIS(Datentransfer!L30;" _
& "'KBK-Zuständigkeit'!$A$2:$B$99999;2;FALSCH);"""");"""")"
.Value = .Value
End With
End Sub
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige