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

Formel über Makro in Zelle schreiben

Formel über Makro in Zelle schreiben
09.01.2004 15:05:16
Jürgen
Hallo Helfer !
ich möchte in einem Makro eine Formel in eine Zelle schreiben.
Habe folgendes versucht:
test = "=" & "WENN(J" & z & Chr(61) & Chr(34) & Chr(34) & Chr(59) & Chr(34) & Chr(34) & ";WENN(HEUTE()-DATWERT(TAG(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "MONAT(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "JAHR(HEUTE()))<0;JAHR(HEUTE())-JAHR(J" & z & ")-1;JAHR(HEUTE())-JAHR(J" & z & ")))" & Chr(34)
If a = 11 Then Cells(z, a) = test
z ist dabei eine Variable.
Beim übergeben mit cells(z,a) = test erhalte ich eine Fehlermeldung
Bitte um Hilfe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel über Makro in Zelle schreiben
09.01.2004 15:09:44
Georg
Hi,
starte einfach deinen MakroRecorder.
Füge eine Funktion in eine beliebige Zelle.
Stope den Makrorecorder und schau dir einfach an was Excel gemacht hat.
Du hast in deiner Anweisung "WENN" verwedet.
Excel verwendet statt "WENN" IF.
Grúß Georg
AW: Formel über Makro in Zelle schreiben
09.01.2004 15:53:01
Tobi_Fr
Hi,
Also Excel verwendet in den Formeln schon WENN
Ich würde alles hinter zwei " machen und wenn du in Excel in der Formel ein " stehen haben willst musst du "" machen.
Vielleicht kann ich dir weiterhelfen wenn du mir sagst was die fehlermeldung meinst.
tobi
Hallo Tobi
09.01.2004 16:07:20
jürgen
Hallo Tobi,
die Formel lautet im Orginal:
=WENN(J5="";"";WENN(HEUTE()-DATWERT(TAG(J5)&"."&MONAT(J5)&"."&JAHR(HEUTE()))<0;JAHR(HEUTE())-JAHR(J5)-1;JAHR(HEUTE())-JAHR(J5)))
Jeddoch ist 5 nicht immer richtig. Es kann auch mal sein das es j13 heißt.
Habe dann folgendes versucht:
Public

Sub CBOK_Click()
Sheets(ortn).Select
z = 3
Do While Worksheets(ortn).Cells(z, 1) <> ""  ' Zeile mit Namen suchen
z = z + 1
Loop
For a = 1 To 17
If a <> 11 Then Cells(z, a) = UserForm2.Controls("TextBox" & a)
test = "=" & "WENN(J" & z & Chr(61) & Chr(34) & Chr(34) & Chr(59) & Chr(34) & Chr(34) & ";WENN(HEUTE()-DATWERT(TAG(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "MONAT(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "JAHR(HEUTE()))<0;JAHR(HEUTE())-JAHR(J" & z & ")-1;JAHR(HEUTE())-JAHR(J" & z & ")))"
If a = 11 Then Cells(z, a) = test
Next
End Sub

Ich erhalte dann:
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler
wenn ich schreibe:
test = "WENN(J" & z & Chr(61) & Chr(34) & Chr(34) & Chr(59) & Chr(34) & Chr(34) & ";WENN(HEUTE()-DATWERT(TAG(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "MONAT(J" & z & Chr(41) & Chr(38) & Chr(34) & Chr(46) & Chr(34) & Chr(38) & "JAHR(HEUTE()))<0;JAHR(HEUTE())-JAHR(J" & z & ")-1;JAHR(HEUTE())-JAHR(J" & z & ")))"
If a = 11 Then Cells(z, a) = test
(ohne = Zeichen bei Test) dann steht in der Zelle der Text, jeddoch ist es keine Formel
wg. dem Fehlenden gleichheitszeichen
Anzeige
AW: Hallo Tobi
12.01.2004 09:28:40
Tobi_Fr
schau mal:
thisworkbook.application.cells(1,1) = "=""Test: ""&W2&"".""&V2&""Hallo"""
Also probiers mal mit zwei ", wenn du text schreiben wills.
ein einmal " vor dem = Zeichen und ganz am schluss, d.h. auch wenn du dazwischen & hast das mit in " " rein.
tobi
AW: Hallo Tobi
13.01.2004 13:55:06
Tobi_Fr
Jetzt nochwas:
Es kann auch sein, so wars bei mir, dass du die ; durch , ersetzen musst.
bzw. du machst cell(1,1).formulaR1C1 = ...
tobi

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige