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

VBA SVERWEIS über VariableMatrix

VBA SVERWEIS über VariableMatrix
01.07.2022 12:51:02
Carl
Hallo Zusammen,
ich bin ein wenig am verzweifeln. Ich komme einfach nicht weiter, ich denke mal, das dass Ganze für viele hier ein recht "einfaches" Problem ist.
Ich habe aktuell ein Tabellenblatt in meiner intelligenten Tabelle in meiner Arbeitsmappe.
In der Tabelle wird der Status von verschiedenen Kundenaufträgen festgehalten. Die Tabelle beinhaltet Daten von KW 26, das Tabellenblatt heißt KW 26. Ich möchte nun vor dieses Tabellenblatt ein neues Tabellenblatt einfügen. Dies wird KW 27 heißen. Ich möchte bzgl. Verspätungsterminen für die Aufträge abgleichen wie der Liefertermin in dieser Woche lautet, im Vergleich zu Vorwoche. ( Die Daten ziehen ich aus unserem ERP System). Das soll dann für das ganze Jahr sofort geführt werden..
Das erzeugen eines neuen Tabellenblatt, Umbenennung des Tabellenblattes, Umbenennung der Tabelle, funktioniert auch soweit alles gut.
Mein Problem ist jetzt folgendes. Die Tabelle und somit auch der Tabellenname über die ich mittels eines Sverweises auf den machbaren Liefertermin aus der Vorwoche zugreife ändert sich ja immer mit. In Spalte J wird dann der Termin der Vorwoche eingetragen.
Meine Idee daher:
Ich verweise ja immer auf die Tabelle im Arbeitsblatt an zweiter Stelle. Die Adressierung der Tabelle ist also gleich, der Name ändert sich immer nur.
Also Variablenname für das erzeugte Objekt, und dann in dem SVerweis die Tabelle über die Variable ansprechen.
Hier der Code:
set Vorwoche = Worksheets(2).ListObjects(1)
Range("J3").Select
Activecell.FormulaR1C1 = "VLOOKUP([Auftrag],Vorwoche,8,False)
Dies scheint funktioniert aber nicht. In dem Verweis wird Vorwoche nicht als Tabelle angesehen, sondern erscheint in der Formel für den Sverweis in ' '.
Auch die folgende Anweisung funktioniert nicht.
Activecell.FormulaR1C1 = "VLOOKUP([Auftrag], Worksheets(2).ListObjects(1),8,False)
Was mache ich falsch?
Vielen Dank im Voraus für eure Hilfe.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA SVERWEIS über VariableMatrix
01.07.2022 13:13:07
Daniel
Hi
da fehlt das "=" am Anfang, denn daran erkennt Excel dass der übergebene Inhalt eine Formel sein soll, die es berechnen muss.
und das " am ende fehlt auch (aber das könntest du beim kopieren vergessen haben zu markieren)
weiterhin brauchst du in der Formel die Bezeichnungen aus Excel. mit deinen Variablen kann Excel nicht arbeiten
mit "[Auftrag]" und "Vorwoche" kann die Excelformel nicht arbeiten, weil die keine Verbindung zu VBA hat.
In der Formel müssten dann schon die echten Zellbezüge stehen oder falls vorhanden die Namen.
kleiner Tip, wenn du per Code eine Formel in eine Zelle schreiben willst, dann schreibe Formel ganz normal von Hand in die Zelle.
Wenn die Formel in der Zelle richtig rechnet, kannst du dir im Direktfenster mit diesem Befehl den Text anzeigen lassen, den du für den Code dann brauchst:

?Selection.FormulaR1C1
oder so, denn wenn die Formel Anführungszeichen enthält, muss man die im Quellcode verdoppeln.
Das kann man den Computer machen lassen:

?Replace(Selection.FormulaR1C1, """", """""")
oder man zeichnet das Eingeben der Formel mit dem Recorder auf.
und noch ein Tip:
es ist nicht notwendig eine Zelle zu selektieren, bevor man sie bearbeitet.
Statt

Range("A1") .Select
Selection.Value = "Hallo Welt"
kann man immer auch schreiben:

Range("A1").Value = "Hallo Welt"
der Code wird dadurch kürzer, übersichtlicher, schneller, weniger Fehleranfällig, der Bildschirm flackert nicht usw.
auch wenn der Recorder das so aufzeichnet weil wir mit der Maus so arbeiten, im Code ist es nicht notwendig.
Gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige