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

Per Makro wenn Formel in Zelle Einfügen !

Forumthread: Per Makro wenn Formel in Zelle Einfügen !

Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 16:28:56
Lukaso
Hallo,

ich möchte per Makro eine Formel in eine Zelle schreiben lassen.
Ich mache das mit dem Befehl:

-------------------------------------------
With Worksheets("").Range("")
.Value = ""
End With
-------------------------------------------

Ich möchte Volgende Formel reinkopieren lassen:

-------------------------------------------
=WENN(D21>0;1;"")
-------------------------------------------

Mein Problem, wenn ich Volgendes Reinschreibe:

-------------------------------------------
With Worksheets("Test").Range("A1")
.Value = "=WENN(D21>0;1;"")"
End With
-------------------------------------------

Dann bekomme ich einen Runtime Error 1004 !
Wenn ich aber eine billige Formel nehme z.B. =5*5
dann Funktioniert es ohne Probleme ! Ich schätze mal das er die Klammern oder die vielen " nicht mag !!

Kann mir jemand einen Makro Code geben womitt ich das kann?

Danke im Vorrauß !

Lukaso

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 16:42:14
ChrisL

Hallo Lukaso

In VBA musst du die Formeln in Englisch schreiben.

WENN = IF
; = ,

Im Excelverzeichnis gibt es eine Datei "VBAListe.xls", welche sämtliche Funktionen auf D + E enthält.

Gruss
Chris

Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 16:43:50
PeterW

Hallo Lukaso,

wenn Du die Formel in die Zelle schreiben willst dann mit .FormulLocal="=wenn(D21>0;1;"""")"

Gruß
Peter

Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 17:13:26
Lukaso

Danke schonmal aber das Funktioniert auch nicht ! Bekomme immer den Scheiß 1004 Fehler !

Das ist doch zum aus der Haut Fahren !! :(

Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 17:16:21
ChrisL

Hallo Lukaso

.Value

sollte natürlich

.Formula

heissen.

Habs erst jetzt gesehen.

z.B. Range("A1").Formula = "=IF(A1="","","xy")"

Gruss
Chris

Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 17:40:11
Harald Wopenka

Beide Varianten haben gestimmt.

Mit range("a1").formula gibt man sie in englisch an, mit .formulaLocal in der Sprache, in der Excel installiert ist.

Also
.formula="=if(a1=b1,c1,d1)"
.formulaLocal="=wenn(a1=b1;c1;d1)"

Beachte auf jeden Fall, dass die Parameter im Englischen mit einem Beistrich anstatt mit einem Strichpunkt getrennt werden müssen...

Greets,
Harry

Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 18:12:51
Lukaso

Habe jetzt den Übeltäter gefunden er will die Zwei " nicht. Aber wenn ich diese Weglasse dan erscheint eine 0 ! Auch wenn ich auf ein Leeres Feld beziehe ! Ich brauche die Zwei " damitt das Weld Leer bleibt wenn keine Eingabe im Feld1 ist !

Was kann ich da als Alternative benutzten ??

Lukaso

Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 18:13:18
Lukaso

Es ist halt nur noch das Problem mit der 0

Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 18:17:38
PeterW

Hallo Lukaso,

wenn Du meinen Beitrag gelesen hättest wären Dir bestimmt in der korrekten Lösung die 4 Anführungszeichen aufgefallen. :(

Gruß
Peter

Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 18:38:41
Lukaso

Also der Übeltäter waren die 2 " ! Aber wenn ich diese nicht habe, eine Leerzeile einfüge oder auf eine Leere Zelle Verlinke macht er mir eine 0 ! Aber ich brauche eine Leere Zelle wenn in ZelleXY keine Eingabe ist !

Was kann ich als Alternative zu "" Nehmen ??

Anzeige
Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 18:41:35
Lukaso

Ups und ich dachte das währe nen Tippfehler :P !

Ok Danke die Sache hatt sich Erledigt !!

Danke Sehr !


----CLOSED----


Lukaso

Re: Per Makro wenn Formel in Zelle Einfügen !
28.04.2003 21:58:12
Harald Wopenka

Du musst die Quotes doppelt machen.

Also beispielsweise:
formula="=if(a1=""hallo"",""danke"",""bitte"")"

Greets,
Harry

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Makro: Formel in Zelle einfügen


Schritt-für-Schritt-Anleitung

Um eine Excel-Formel in eine Zelle einzufügen, kannst du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul, indem du mit der rechten Maustaste auf „VBAProject (deineDatei.xlsx)“ klickst, dann „Einfügen“ und „Modul“ wählst.

  3. Füge den folgenden Code in das Modul ein:

    Sub FormelInZelleEinfuegen()
       With Worksheets("Test").Range("A1")
           .Formula = "=IF(D21>0, 1, """")"
       End With
    End Sub

    Hierbei wird die Formel =IF(D21>0, 1, "") in die Zelle A1 der Tabelle „Test“ eingefügt.

  4. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und das Makro „FormelInZelleEinfuegen“ auswählst.


Häufige Fehler und Lösungen

Ein häufiger Fehler, den viele Anwender erleben, ist der Runtime Error 1004. Hier sind einige Lösungen:

  • Fehlerhafte Syntax: Achte darauf, dass du die Formel korrekt schreibst. Bei Verwendung von .Formula sollte die Formel in Englisch sein. Beispiel:

    .Formula = "=IF(D21>0, 1, """")"
  • Verwendung der richtigen Methode: Stelle sicher, dass du .Formula und nicht .Value verwendest, um eine Formel einzufügen.

  • Doppelte Anführungszeichen: Wenn du leere Strings in deiner Formel einfügst, musst du doppelte Anführungszeichen verwenden:

    .Formula = "=IF(D21>0, 1, """")"

Alternative Methoden

Falls du die Formel in deiner eigenen Sprache (z.B. Deutsch) einfügen möchtest, kannst du .FormulaLocal verwenden:

Sub FormelInZelleEinfuegenLocal()
    With Worksheets("Test").Range("A1")
        .FormulaLocal = "=WENN(D21>0; 1; """")"
    End With
End Sub

Diese Methode ist hilfreich, wenn Excel in einer anderen Sprache installiert ist.


Praktische Beispiele

Hier sind einige Beispiele, wie du VBA-Formeln in Zellen einfügen kannst:

  1. Einfache Addition:

    Sub AdditionInZelle()
       With Worksheets("Test").Range("A2")
           .Formula = "=A1 + 5"
       End With
    End Sub
  2. Bedingte Formel:

    Sub BedingteFormel()
       With Worksheets("Test").Range("B1")
           .Formula = "=IF(A1>10, ""Über 10"", ""Unter 10"")"
       End With
    End Sub

Tipps für Profis

  • Nutze die VBA-Hilfsdatei: Es gibt eine Datei namens „VBAListe.xls“, die alle Funktionen auflistet. Sie kann dir helfen, die richtige Syntax zu finden.

  • Fehlersuche: Wenn du auf einen Fehler stößt, überprüfe die Syntax sorgfältig. Oft sind es nur kleine Tippfehler oder falsche Zeichen.

  • Verwende Kommentare: Kommentiere deinen Code, um die Funktionsweise zu erklären, besonders wenn du komplexe Formeln einfügst.


FAQ: Häufige Fragen

1. Warum bekomme ich einen Runtime Error 1004? Der Fehler tritt häufig auf, wenn die Formel nicht korrekt formatiert ist. Achte darauf, dass du die richtige Syntax verwendest und die Anführungszeichen korrekt setzt.

2. Wie füge ich eine Formel in einer anderen Sprache ein? Verwende .FormulaLocal, um die Formel in der Sprache, in der Excel installiert ist, einzufügen. Beispiel für Deutsch: .FormulaLocal = "=WENN(D21>0; 1; """")".

3. Kann ich auch komplexere Formeln in Zellen einfügen? Ja, du kannst jede Formel, die du auch direkt in Excel verwenden würdest, in eine Zelle einfügen. Achte darauf, dass die Syntax korrekt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige