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

Aufgezeichnetes Makro bringt Fehler beim Ausführen

Aufgezeichnetes Makro bringt Fehler beim Ausführen
04.09.2014 15:23:32
Kasimir
Hall an Alle!
Ich habe mir folgendes mit dem Makrorecorder aufgezeichnet:
Sub Makro2()
' Makro2 Makro
Range("Q2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>"""",Hilfstabelle!R5C2>""""),IF(AND(RC[- _
3]=""ja"",RC[-2]=""ja"",RC[-1]=""ja""),""OK"",""NICHT OK""),IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>""""),IF(AND(RC[-3]=""ja"",RC[-2]=""ja""),""OK"",""NICHT OK""),IF(AND(Hilfstabelle!R4C2>0,Hilfstabelle!R5C2>""""),IF(AND(RC[-2]=""ja"",RC[-1]=""ja""),""OK"",""NICHT OK""),IF(AND" & _
"belle!R3C2>0,Hilfstabelle!R4C2="""",Hilfstabelle!R5C8=""""),IF(AND(RC[-3]=""ja""),""OK" _
",""NICHT OK""),IF(AND(Hilfstabelle!R3C2=0,Hilfstabelle!R4C2>"""",Hilfstabelle!R5C2=""""),IF(AND(RC[-2]=""ja""),""OK"",""NICHT OK""),IF(AND(Hilfstabelle!R3C2=0,Hilfstabelle!R4C2="""",Hilfstabelle!R5C2>""""),IF(AND(RC[-1]=""ja""),""OK"",""NICHT OK"")))))))"
End Sub
Wenn ich nun aber das Makro starte erhalte ich einen Laufzeitfehler 1004, Anwendungs- oder objektdefinierter Fehler.
Meine Frage nun, warum erhalte ich diesen Fehler und was muss ich am Makro ändern, so dass die Formel durch das Makro in die Zelle geschrieben wird.
Danke Euch schon mal für die Hilfestellung,
Kasimir

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

Betreff
Datum
Anwender
Anzeige
AW: Aufgezeichnetes Makro bringt Fehler beim Ausführen
04.09.2014 15:34:21
Rudi
Hallo,
da fehlt wohl was:
  "belle!R3C2>0,Hilfstabelle!R4C2="""",Hilfstabelle
Gruß
Rudi

AW: Aufgezeichnetes Makro bringt Fehler beim
04.09.2014 15:49:22
Kasimir
Hallo Rudi!
Danke Dir für die Antwort. Stimmt, da fehlt etwas. Aber auch wenn ich hier Hilfstabelle, was dort eigentlich stehen sollte, Eintrag gibt es diesen Fehler.
Ziel ist es in Zelle Q2 die Formel
=WENN(UND(Hilfstabelle!$B$3>0;Hilfstabelle!$B$4>"";Hilfstabelle!$B$5>"");WENN(UND(N2="ja";O2="ja"; P2="ja");"OK";"NICHT OK");WENN(UND(Hilfstabelle!$B$3>0;Hilfstabelle!$B$4>"");WENN(UND(N2="ja"; O2="ja");"OK";"NICHT OK");WENN(UND(Hilfstabelle!$B$4>0;Hilfstabelle!$B$5>"");WENN(UND(O2="ja"; P2="ja");"OK";"NICHT OK");WENN(UND(Hilfstabelle!$B$3>0;Hilfstabelle!$B$4="";Hilfstabelle!$H$5=""); WENN(UND(N2="ja");"OK";"NICHT OK");WENN(UND(Hilfstabelle!$B$3=0;Hilfstabelle!$B$4>""; Hilfstabelle!$B$5="");WENN(UND(O2="ja");"OK";"NICHT OK");WENN(UND(Hilfstabelle!$B$3=0; Hilfstabelle!$B$4="";Hilfstabelle!$B$5>"");WENN(UND(P2="ja");"OK";"NICHT OK"))))))) 
einzutragen.
Gruß,
Kasimir

Anzeige
AW: Aufgezeichnetes Makro bringt Fehler beim
04.09.2014 16:22:25
UweD
So ?
    ActiveCell.FormulaR1C1 = _
"=IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>"""",Hilfstabelle!R5C2>"""")," & _
"IF(AND(R[1]C[13]=""ja"",R[1]C[14]=""ja"", R[1]C[15]=""ja""),""OK"",""NICHT OK"")," & _
"IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>"""")," & _
"IF(AND(R[1]C[13]=""ja"", R[1]C[14]=""ja""),""OK"",""NICHT OK"")," & _
"IF(AND(Hilfstabelle!R4C2>0,Hilfstabelle!R5C2>"""")," & _
"IF(AND(R[1]C[14]=""ja"", R[1]C[15]=""ja""),""OK"",""NICHT OK"")," & _
"IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2="""",Hilfstabelle!R5C8="""")," & _
"IF(AND(R[1]C[13]=""ja""),""OK"",""NICHT OK"")," & _
"IF(AND(Hilfstabelle!R3C2=0,Hilfstabelle!R4C2>"""", Hilfstabelle!R5C2="""")," & _
"IF(AND(R[1]C[14]=""ja""),""OK"",""NICHT OK"")," & _
"IF(AND(Hilfstabelle!R3C2=0, Hilfstabelle!R4C2="""",Hilfstabelle!R5C2>"""")," & _
"IF(AND(R[1]C[15]=""ja""),""OK"",""NICHT OK"")))))))"
Gruß UweD

Anzeige
AW: Aufgezeichnetes Makro bringt Fehler beim Ausführen
04.09.2014 16:26:39
Daniel
Hi
durchaus möglich dass das zu lang ist für eine Excelzeile (ich meine der Grenzwert liegt bei c.a 500 Zeichen und da bist du drüber)
Excel zeichnet zwar auf, kann es dann aber nicht auführen.
wenn du dein Blatt "Hilfstabelle" in "H" umbenennst, kommst du mit der Formel unter 500 Zeichen und damit funktionierts.
das Umbennen kannst du auch per Code machen.
auch das Rückgängigmachen dieser Änderung funktioniert problemlos, Excel passt alle Formeln automatisch an:
Makro2 Makro
Sheets("Hilftabelle").Name = "H"
Range("Q2").FormulaR1C1 = _
"=IF(AND(H!R3C2>0,H!R4C2>"""",H!R5C2>""""),IF(AND(RC[- _
.......""NICHT OK"")))))))"
Sheets("H").Name = "Hilfstabelle"
End Sub
die Andere Möglichkeit das Problem der zu langen Befehlszeile zu umgehen wäre folgendes:
Schreibe die Formel erst in eine Variable, dann kannst du sie in mehren Teilen zusammenfügen:
Sub Makro2()
Dim FO as string
FO = "=IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>"""",Hilfstabelle!R5C2>""""),IF(AND(RC[-"
FO = FO & "3]=""ja"",RC[-2]=""ja"",RC[-1]=""ja""),""OK"",""NICHT OK"")"
FO = FO & ",""NICHT OK""),IF(AND(Hilfstabelle!R3C2>0,Hilfstabelle!R4C2>"""")"
usw
Range("Q2").FormulaR1C1 = FO
End Sub

die zweite Methode hat den Nachteil, dass du sie nicht aufzeichnen kannst, sondern halt so dafür sorgen musst, dass beim zusammenstückeln eine richtige Formel ohne Schreibfehler entsteht.
aber auch bei der zweiten Methode muss du den Grenzwert von maximal 1000 Zeichen für die Formel beachen, mehr kann VBA nicht an Excel als Formel übergeben.
(von Hand eingetragen darf die Formel 8000 Zeichen lang sein)
Gruß Daniel

Anzeige
Aufgezeichnetes Makro bringt Fehler beim Ausführen
04.09.2014 18:39:38
kasimir.h@onlinehome.de
Hallo Ihr beiden!
Danke für die Hilfe. Die Lösung von Uwe hat super funktioniert und bringt mich weiter. Beide Lösungen von Daniel haben leider nicht funktioniert. Es trat der gleiche Fehler auf.
Danke nochmal und noch einen schönen Abend,
Kasimir

331 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige