Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel per VBA-Code

Formel per VBA-Code
05.11.2007 20:57:00
Thomas
Hallo VBA-Profis,
jetzt komm ich ohne Tipps nicht mehr weiter.
Ich möchte per Code eine EXCEL-Formel in unregelmäßigen Zeilenabständen einfügen. Das Problem ist, dass die Formel als Text eingefügt wird und nicht ausgewertet wird. Dies passiert erst, wenn ich alle Zellen, in denen die Formel steht mit "Standard" formatiere und für jede einzelne Zelle die Formel bestätige ("grünes Häckchen"). Eine entsprechende Formatierung per Code führt zum Laufzeitfehler 1004 "Anwendungs- oder objektdefinierter Fehler" (Wieso ?)

Do while k ....
SH3.Cells(k, 4).Select
Selection.NumberFormat = "General"
Selection.Formula = "=VLOOKUP(C" & CStr(k) & _
";'Dispo-Plan DC Daten'!$A$2:$BJ$250;3;0)"
k = k +1
Loop


Ob Formel in englisch oder deutsch (SVERWEIS) ist egal, gleiches Resultat.
Danke für Euere Hilfe

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA-Code
05.11.2007 21:03:12
Daniel
Hi
du musst schon aufpassen, ob du mit Excel deutsch oder Englisch sprichst:
.Formula:= Englische Befehlsschreibweise + KOMMA als Trennzeichen der Parameter
.Formulalocal:=Deutsche Befehlsschreibweise + SEMIKOLON als Trennzeichen der Parameter
ein Hinweis noch:
sollten deine Formeln selbst Anführungszeichen enthalten, müssen diese immer verdoppelt werden, damit Excel unterscheiden kann, ob die Anführungszeichen zur Formel gehören oder nur das Ende eines Teilsstings sind.
gruß, Daniel

AW: Formel per VBA-Code
05.11.2007 21:07:52
Josef
Hallo Thomas,
With SH3.Cells(k, 4)
    .NumberFormat = "General"
    .Formula = "=VLOOKUP(C" & CStr(k) & _
        ",'Dispo-Plan DC Daten'!$A$2:$BJ$250,3,0)"
End With
k = k + 1

Du kannst die Formeln in einem Bereich allerdings auch ohne Schleife eintragen.
Range("D2:D50").FormulaR1C1 = "=VLOOKUP(RC[-1],'Dispo-Plan DC Daten'!R2C1:R250C62,3,0)"

Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige