Excel VBA Programm

kinimod2010

Cadet 4th Year
Registriert
Sep. 2014
Beiträge
68
Hallo Leute,

Ich bin gerade am Programmieren eines VBA-Skrips leider komme ich nicht mehr weiter :/


For i = 1 To letztezeile Workbooks(ZAZ).Worksheets("Tabelle1").Cells(5 + i, 10) = "=VLOOKUP(Workbooks(ZAZ).Worksheets("Tabelle1").cells(7+i,3),Tabelle2!A:N,14,FALSE)" Next i

Ich versuche in dem String durch meine laufvariable immer in die nächste zeile zu springen nur ich weiß nicht wie ich das programmieren soll

Gibt es hier eine möglichkeit?

Danke für eure hilfe
 
Hallo,

d.h. du möchtest via Loop die Formel einfügen?
Dazu muss zum einen .Cells(5+i,10).FormulaLocal = drin stehen, und in der Formel selbst, alle doppelten Anführungszeichen jeweils mit zwei Anführungszeichen eingefügt werden ("""). Auch musst Du den String an der Stelle wo die Variable i wieder eingefügt werden soll trennen -> ..." & i & "...
Da es sich um eine Formel handelt, kannst du auch nicht die VBA-Referenz im Sverweis verwenden sondern musst die Zelle wie in Excel angeben: ="VLOOKUP(C" & i + 7 & ";Tabelle....

Kleiner Tipp noch, wenn jemand die Datei umbenennt, geht dein Makro nicht mehr, da du das Workbook fix benennst. Besser wäre hier ThisWorkbook, welches dann nur auf die Datei refenziert, aus welcher das Makro geöffnet wird, unabhängig vom Dateinamen.

VG,
Wurzelsepp
 
Deine Laufvariable darf nicht Teil des Strings sein...

variable = "dynamischen"
"Das hier ist ein String mit einem " + variable + " Wert"

Bin mir gerade nicht sicher, wie Stirng-Concatenierung in VBA geht, könnte mit Punkt sein.
Ah, mit dem Kaufmannsund...
 
tollertyp schrieb:
Deine Laufvariable darf nicht Teil des Strings sein...

variable = "dynamischen"
"Das hier ist ein String mit einem " + variable + " Wert"

Bin mir gerade nicht sicher, wie Stirng-Concatenierung in VBA geht, könnte mit Punkt sein.
Ah, mit dem Kaufmannsund...
Danke hat super funktioniert :mussweg:
Ergänzung ()

Wurzelsepp29 schrieb:
Hallo,

d.h. du möchtest via Loop die Formel einfügen?
Dazu muss zum einen .Cells(5+i,10).FormulaLocal = drin stehen, und in der Formel selbst, alle doppelten Anführungszeichen jeweils mit zwei Anführungszeichen eingefügt werden ("""). Auch musst Du den String an der Stelle wo die Variable i wieder eingefügt werden soll trennen -> ..." & i & "...
Da es sich um eine Formel handelt, kannst du auch nicht die VBA-Referenz im Sverweis verwenden sondern musst die Zelle wie in Excel angeben: ="VLOOKUP(C" & i + 7 & ";Tabelle....

Kleiner Tipp noch, wenn jemand die Datei umbenennt, geht dein Makro nicht mehr, da du das Workbook fix benennst. Besser wäre hier ThisWorkbook, welches dann nur auf die Datei refenziert, aus welcher das Makro geöffnet wird, unabhängig vom Dateinamen.

VG,
Wurzelsepp

Danke für den Tipp das mein Makro dann nicht mehr funktioniert an das hab ich nicht gedacht mit thisWorkbook aber ich werde das dann allgemein ändern ist daweil nur fürs testen

Danke ihr habt mir sehr geholfen das hat mir einige stunden schon genervt und einge gespart
 
Achso, ja sorry, die Datei wird ja mit der Variable ZAZ definiert, dann klappt das ja sowieso ;)
 
Hallo ich bin schon fast fertig mit meinen Programmen :D

Ich öffne mit einem Excel-VBA ein anderes mach es aber dann gleich anschließend:

Code:
ActiveWindow.Visible = False

gibt es hier keine möglichkeit es gleich verschlossen zu öffnen sieht ja nicht schön aus so :confused_alt:
Ergänzung ()

Ich hab den Fehler gefunden :schaf: ich hatte noch ein auf

Code:
Application.ScreenUpdating = True

Davor

Danke nochmal für eure hilfe TOP!
 
Zuletzt bearbeitet:
Zurück
Oben