Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel per VBA in Zelle eintragen

Formel per VBA in Zelle eintragen
18.01.2016 16:56:25
Florian
Hallo zusammen,
ich programmiere derzeit ein Planungstool in Excel.
Ich füge eine Zeitleiste mittels VBA ein, oberhalb der Zeitleiste werden Arbeitsstunden eingetragen. Ich versuche nun über eine bedingte Formatierung und das Eintragen einer Formel in eine Kontrollzelle zu visualisieren, ob genügend Arbeitsstunden eingeplant wurden.
Die Formel und die bedingte Formatierung klappen soweit, allerdings würde ich die Formel gerne befüllen:
derzeitiger Stand: z.B.
Cells(cell.Row - 3, cell.Column).FormulaR1C1 = "=if(SUM(R[-2]C:R[-1]C)>=R[2]C,1,0)"
das funktioniert auch.
ich hätte die Formel aber gern in diesem Stil:
= "=if(SUM(R[-2]C:R[VARIABLE]C)>=R[VARIABLE]C,1,0)"
an der Stelle im Code an der jetzt "VARIABLE" steht möchte ich etwas eintragen, das ich per VBA aus meiner Tabelle auslese.
Wenn ich eine Variable einfüge kommt aber immer die Fehlermeldung Laufzeitfehler 1004: "Anwendungs- oder objektdefinierter Fehler"
Ich denke das liegt daran dass ja die Formel 1:1 so in die Tabelle übernommen wird wie sie hinter dem "=" angegeben wird, und das kann Excel nicht verarbeiten, aber ich weiß nicht wie ich die Variable so befüllen kann dass Excel diese verarbeiten kann.
Ich hoffe ich habe mein Problem verständlich dargelegt und würde mich über Lösungsvorschläge freuen.
Mit freundlichen Grüßen
Florian Steiner

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA in Zelle eintragen
18.01.2016 17:02:30
EtoPHG
Hallo Florian,
Setze halt den String (richtig) zusammen:
... = "=IF(SUM(R[-2]C:R[" & VARIABLE & "]C)>=R[" & VARIABLE & "]C,1,0)"

Gruess Hansueli

AW: Formel per VBA in Zelle eintragen
18.01.2016 18:24:38
Florian
Hallo zusammen,
vielen Dank für die schnellen Antworten,
ich werde das morgen gleich mal testen und euch dann ein Feedback geben.
Mit freundlichen Grüßen
Florian Steiner

AW: Formel per VBA in Zelle eintragen
18.01.2016 17:06:23
Daniel
Hi
deine Formel besteht aus festen Bestandteilen und Variablen.
da innerhalb eines festen Textes eine Variable nicht als solche erkannt wird sonden eben ein einfacher Text ist, muss man an der Stelle, an welcher die Variable eingefügt werden soll, den festen Teiltext beenden und mit & mit der Variablen verketten:
 .FormulaR1C1= "=if(SUM(R[-2]C:R[" & VARIABLE & "]C)>=R[" & VARIABLE & "]C,1,0)"

oder so:
.FormulaR1C1 = Replace("=if(SUM(R[-2]C:R[xxx]C)>=R[xxx]C,1,0)", "xxx", VARIABLE) 

wobei ich die zweite Variante vorziehen würde, weil hierbei der Formeltext im Code einfacher zu lesen ist.
Gruß Daniel
Anzeige

364 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige