Makro VLookup funktioniert nicht?

4 Antworten

Das macht so auch keinen Sinn. Du gibst keinen Bereich an, sondern nur EINE Zelle, willst daraus aber die 2.te Spalte auslesen. Außer dem ist das englisch und FALSCH wird da wohl kaum passen. Nimm statt dessen 0 oder das was im Englischen angezeigt wird.

Außerdem ist da ein Parameter zuviel.

Beschreibe vielleicht mal mit Worten, WAS die Formel leisten soll, dann können wir Dir sicher helfen.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
TheDonk 
Fragesteller
 09.03.2023, 14:47

Ein SVerweis welcher aus der Tabelle Ansicht die A4 mit der von der Tabelle EKPO in Spalte A Vergleicht und mir die Spalte B und C wiedergibt (Also alles auf der selben Reihe). Anschließend geht es weter mit A5 ... A6 ...

0

Ich kenne mich so gut mit VBA nicht aus, aber mit fällt auf:

  • Warum englische und deutsche Bezeichnung in einer Formel ?
  • Da die Formel insgesamt ein String ist, muss der Bereich wahrscheinlich auch als EKPO!A1:C1000 da geschrieben werden, das ist ja eben kein VBA hier; Das entsprechende Blatt sollte dann auch existieren.
  • Zumindest bei "normalen" Formeln in deutschem Excel trennt man Argumente mit ";" - im englischen mit ",", das hängt nervigerweise an der Spracheinstellung von Windows
  • Die Anzahl der Parmeter stimmt nicht
"=SVERWEIS(A5;EKPO!A1:C1000;2;FALSCH)"
oder
"=VLOOKUP(A5,EKPO!A1:C1000,2,FALSE)"
  • Willst du zwei Spalten aus dem Bereich, brauchst du die Formel zweimal, einmal mit Spalte 2 und einmal mit Spalte 3 in den Zielzellen

Du solltest dich entscheiden.
Soll die Formel ins Blatt geschrieben werden per Makro.
Dies führt zu anderen Dingen/Problemem.
Gemäß deiner anderen laufenden Frage besser, das Ergebnis des VlookUp ins Blatt zu schreiben.
Der Laufzeitfehler MUSS gefunden werden. Generell ist die Code bereits vollständig.
Warum es kracht liegt vielleicht noch an anderen Dingen.
z.B: Gibt es das Blatt "EPKO" überhaupt?

Von Experte Oubyi, UserMod Light bestätigt

Hallo,

ich geh mal auf dünnes Eis, da mein VBA-Kenntnisstand auch nicht so prall ist... Ich nehme an, du beziehst dich auf den Bereich A1:C1000.

=VLookup(Range("A5"), Range("A1:C1000"), 2, false)

Hoffe, dass war jetzt aus dem Gedächtnis richtig.

LG, Chris