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

VBA Excel Wenn Formel kopieren und aufzeichnen

VBA Excel Wenn Formel kopieren und aufzeichnen
08.12.2014 13:40:59
braun
Guten Tag,
ich habe heute eine sehr lange Wenn-Formel erstellt, die auch super funktioniert.
Diese würde ich jetzt gerne aufzeichnen.
Ich habe sie kopiert, dann habe ich die Aufzeichnung gestartet, die Formel eingefügt und die Aufzeichnung beendet.
Wenn ich das Makro starten will, kommt allerdings Laufzeitfehler 1004, und es zeigt mir den kompletten aufgezeichneten Code gelb an.
Wie kann das sein?
Die Formel funktioniert ja so auch.
Oder liegt das am vorherigen Kopieren?
Möchte sie nicht unbedingt per Hand einfügen,da sie sehr lange ist.
Vielen Dank im Voraus!
MFG
Karin

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel Wenn Formel kopieren und aufzeichnen
08.12.2014 13:48:17
Rudi
Hallo,
  • Zelle mit Formel auswählen

  • Recorder starten

  • F2

  • Enter

  • Recorder beenden

  • Gruß
    Rudi

    AW: VBA Excel Wenn Formel kopieren und aufzeichnen
    08.12.2014 14:12:19
    braun
    Danke für die schnelle Antwort!
    Leider kommt immer noch der gleiche Fehler und der Code wird gelb hinterlegt.
    Was könnte das denn sein?
    Viele Grüße

    Das geht auch mit anderen Formeln nicht
    08.12.2014 17:24:22
    Frank
    Hallo Karin,
    das liegt wahrscheinlich daran, dass das Clipbord leer ist. Einfacher ist so eine Frage aber immer zu beantworten, wenn man den Code dazu sieht. Für meinen Test sieht der so aus:
    Sub Makro1()
    Range("C3").Select
    ActiveSheet.Paste
    End Sub
    

    Auch da kommt Laufzeitfehler 1004. Wie man im Code sieht, ist das Kopieren in die Zwischenablage kein Bestandteil desselben und wenn ich nach Ausführung (und Abbruch mit Laufzeitfehler) versuche, per Hand einzufügen, ist "Einfügen" ausgegraut.
    Zeichne ich jetzt ein Makro inklusive des Kopierens in die Zwischenablage auf
    Sub Makro2()
    Range("C2").Select
    Selection.Copy
    Range("C3").Select
    ActiveSheet.Paste
    End Sub
    

    funktioniert das Ganze auch ohne Fehler.
    Grüsse,
    Frank

    Anzeige
    AW: Das geht auch mit anderen Formeln nicht
    09.12.2014 08:39:10
    braun
    Hallo Frank,
    leider klappt es auf diese Weise auch nicht :(
    Hier mal mein Ausgangscode.
    Vlt ist darin doch ein Fehler enthalten?Obwohl sie ja so ohne Aufzeichnung auch funktioniert..
    Sub Makrotest()
    Range("CA4").Select
    ActiveCell.FormulaR1C1 = _
    "=IF(AND(RC[-71]=""IE"",RC[-55]=""US"",RC[-1]>0.4,RC[-1]0.4,RC[-1]=71,RC[-1]=100,RC[-1]" & _
    "IE IEF Import Raten'!R170C3,IF(AND(RC[-71]=""IE"",RC[-55]=""US"",RC[-1]>=300,RC[-1]=500,RC[-1]=1000),'IE IEF Import Raten'!R173C3,IF(AND(RC[-71]=""IE"",RC[-1]>=71,RC[-1]=100, _
    RC[-1]=300,RC[-1]=500,RC[" & _
    "OR(RC[-55]=""HK"",RC[-55]=""MX"",RC[-55]=""SG"",RC[-55]=""KR"")),'IE IEF Import Raten'! _
    R172C4,IF(AND(RC[-71]=""IE"",RC[-1]>=1000,OR(RC[-55]=""HK"",RC[-55]=""MX"",RC[-55]=""SG"",RC[-55]=""KR"")),'IE IEF Import Raten'!R173C4,""""))))))))))))"
    End Sub
    

    Vielen Dank im Voraus.

    Anzeige
    AW: Das geht auch mit anderen Formeln nicht
    09.12.2014 09:19:25
    braun
    Ich habe mir jetzt doch mal die Mühe gemacht und die ganze Formel nochmal per Hand aufgezeichnet, und es kommt trotzdem ein Fehler.
    Jetzt verstehe ich Garnichts mehr :(

    AW: Das geht auch mit anderen Formeln nicht
    09.12.2014 11:58:50
    Frank
    Hallo,
    das ist etwas unübersichtlich, da stimme ich zu...
    Mein XL (2003) lässt zum Beispiel keine Gänsefüsschen innerhalb der Formel zu. Damit wären Ausdrücke wie dieser hier
    ..."=IF(AND(RC[-71]=""IE"",RC[-55]=""US"",RC[-1...
    ungültig. In meiner Version muss ich alle diese Gänsefüsschen durch die Verkettung & CHR(34) & ersetzen.
    Grüsse,
    Frank

    Anzeige
    AW: Das geht auch mit anderen Formeln nicht
    09.12.2014 14:19:36
    braun
    Okay, das probiere ich gleich mal aus. Das Komische ist,
    dass ich in meinen restlichen aufgezeichneten Formeln auch viele Anführungszeichen habe,und das funktioniert einwandfrei.
    Die Formel die ich erstellt habe klappt ja auch so einwandfrei, nur der VBA - Code nicht nach der Aufzeichnung..
    Viele Grüße

    AW: Das geht auch mit anderen Formeln nicht
    09.12.2014 14:39:28
    braun
    Habe jetzt jedes Anführungszeichen durch ein &CHR(34) ersetzt,
    leider keine Veränderung :(
    Jetzt zeigt es mir den kompletten Code rot an.

    Gänsefüsschen
    09.12.2014 18:45:10
    Frank
    Hallo,
    wenn Du ersetzt, darf das nicht jedes sein.
    Das ganz am Anfang (zwischen den beiden = und das ganz am Ende muss bleiben. Es zeigt XL, wo die Formel anfängt und endet (deshalb funktionieren die in der Mitte m.E. auch nicht).
    Die doppelten (...]=""IE"",RC[-55]=""US"",RC...) dürfen nur durch ein CHR(34) ersetzt werden. Und das & muss ein Leerzeichen davor und danach haben (sieht man aus Deinem Posting nicht so).
    Grüsse,
    Frank

    Anzeige
    noch offen owT
    09.12.2014 18:46:35
    Frank

    AW: Gänsefüsschen
    10.12.2014 09:43:56
    braun
    Hallo,
    das erste und das letzte habe ich gelassen. Die doppelten habe ich durch & CHR(34) & ersetzt, auch immer mit einem Leerzeichen vor dem und, die einzelnen " auch durch ein & CHR(34) &
    Nur leider passt es immer noch nicht .. =( Der Code bleibt nach wie vor rot.
    Mich wundert auch, warum die anderen WENN-Formeln (kürzere, auch mit Gänsefüsschen) aufgezeichnet funktionieren, nur diese lange nicht, obwohl sie ohne VBA ja auch hinhaut.
    Viele Grüße
    Karin

    XL-Limits
    10.12.2014 13:30:32
    Frank
    Hallo Karin,
    dann solltest Du mal hier checken, ob etwas davon zutrifft.
    Google-Suche XL-Limits
    Grüsse,
    Frank

    Anzeige
    AW: XL-Limits
    10.12.2014 15:18:45
    braun
    Hallo,
    das trifft auch nicht zu, die Formel wird so in der Zelle komplett richtig ausgeführt.
    Das Problem ist, dass ich nur gern ein Makro hätte, dass diese automatisch einfügt.
    Klappt bei allen anderen super, nur bei dieser nicht.
    Hat irgendjemand noch Vorschläge?
    Vielen Dank im Voraus!
    Karin

    Wenn der PgmCode tatsächlich genauso in ...
    11.12.2014 12:45:51
    Luc:-?
    …deinem Makro steht, Karin,
    ist er absoluter Müll. Eine Fml ist Text und der darf nicht einfach mal so durch ZeilenTrenn- und -FortsetzungsZeichen ( _) unterbrochen wdn, sondern muss als Teilstück sauber beendet und mit dem nächsten Teilstück genauso sauber (mit " & _zeilenumbruch") verknüpft wdn. Die ForumsAutomatik nimmt darauf keine Rücksicht, also bitte gleich entsprd strukturieren → darauf weist HWH ausdrücklich hin, also mal die Anleitung lesen! :-/
    Außerdem wäre der FmlText ohne TrennZeichen viel zu lang, das kann ebenfalls Probleme verursachen! Schon deshalb in sauber verkettete Portionen aufteilen!
    Falls das eine MatrixFml sein sollte, müsste die Zuweisung an .FormulaArray erfolgen, wobei ich das bei diesem FmlMonstrum eigentlich nicht vermute und auch keine Lust habe, mühselig nachzuprüfen.
    Das war auch gleich das Stichwort; Fktionieren in der Zelle allein ist für VBA nicht ausschlaggebend → mit unübersichtlichen Monströsitäten gibt's immer Ärger. Also überlegst du dir am besten mal eine schlanke und elegante AlternativFml statt dieser unsäglichen „UndOderWennerei“ oder stellst dein FmlProblem deutlich erkenn- und durchschaubar dar und lässt dir vom Forum eine gute Alternative entwickeln!
    Außerdem, wenn schon VBA, kann auch gleich das entsprd Ergebnis ermittelt wdn; allemal besser als damit nur derartige (Un-)Fmln eintragen zu wollen!
    Auch deshalb hat sich wohl auch sonst niemand dafür interessiert…
    Gruß, Luc :-?
    Besser informiert mit …
    Anzeige

    335 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige