Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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

Anzeige

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

Anzeige
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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige