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

Forumthread: Value Eigenschaft setzen mit Formelstring

Value Eigenschaft setzen mit Formelstring
29.09.2006 23:31:13
Andi
Ich möchte per VBA Formeln in die betreffenden Zellen eintragen
Dies funktioniert:
Worksheets("akpreise").Cells(y, 5).Value = "=MAX(K" & y & ":P" & y & ")"
Worksheets("akpreise").Cells(y, 6).Value = "=B" & y & "*E" & y
Hier kommt es zu einem Laufzeitfehler 1004
Worksheets("akpreise").Cells(y, 8).Value = "=MAX(E" & y & "*I" & y & ";Q" & y & ")"
aber warum? selbst wenn ich die Formel kürze bis auf 2 Zahlen mit einem
; getrennt kommt es zum Fehler.
kann mir jemand auf die Sprünge helfen?
Vielen Dank im Voraus
mfG
ANdreas
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Was hast Du vor?
29.09.2006 23:42:12
{Boris}
Hi Andreas,
willst Du Formeln in die Zelle schreiben oder die Formeln als Text in der Zelle stehen haben?
Für Formeln nutze die Formula(local)-Eigenschaft - und für beide Fälle gilt: Anführungszeichen innerhalb der Formel müssen doppelt "" geschrieben werden.
Grüße Boris
AW: Value Eigenschaft setzen mit Formelstring
30.09.2006 01:19:35
Stefan
Hallo Andreas,
Versuch mal das semikolon mit einem Komma zu ersetzen... nur so ne Idee...
Schoene Gruesse
Stefan Br.
Anzeige
AW: Value Eigenschaft setzen mit Formelstring
30.09.2006 14:00:11
Daniel
Hallo
um es mal klar zu formulieren:
es geht um das Trennzeichen, mit dem in Excelformeln die einzelnen Parameter getrennt werden, also im deuteschen Excel das ";" (in Internationalen bzw englischen wird hier das "," verwendet
Wenn du den Formeltext an .VALUE zuweist, befindest du dich auf internationalen Sprachebene, das heißst, du mußt im Formelstring as ";" durch "," ersetzen:
Worksheets("akpreise").Cells(y, 8).Value = "=MAX(E" & y & "*I" & y & ",Q" & y & ")"
Wenn du den Formeltext an .FORMULALOCAL zuweist, bist du auf der deutschen Sprachebene und kannst das ";" stehen lassen:
Worksheets("akpreise").Cells(y, 8).FormulaLocal = "=MAX(E" & y & "*I" & y & ";Q" & y & ")"
Die Doppelten Anführungszeichen mußt du dann setzen, wenn das Anführungszeichen Teil des Formeltextes ist. (kommt aber in deinenm Beispiel nicht vor). DAs Anführungszeichen zum Trennen von Fix-Text und Variablen bleibt weiterhin einfach
Willst du in eine Zelle per Makro folgende Formel schreiben:
="Druckdatum: "&TEXT(HEUTE();"tt.mmm.jjjj")
und dabei ein Variables Datumsformat verwenden, sieht der VBA-Befehl so aus:

Sub test()
Dim DatFormat(3) As String
Dim i As Long
DatFormat(1) = "TT. MMMM JJJJ"
DatFormat(2) = "JJJJ-MM-TT"
DatFormat(3) = "MM/TT/JJJJ"
For i = 1 To 3
Cells(i, 1).FormulaLocal = "=""Druckdatum: ""&TEXT(HEUTE();""" & DatFormat(i) & """)"
Next
End Sub

hier kommen dann bis zu 3 Anführungzeichen hintereinander: 2 aus dem Formeltext und das dritte zum trennen von Fixtext und Variable
Gruß, Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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