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

Formel einfügen per Makro

Forumthread: Formel einfügen per Makro

Formel einfügen per Makro
22.06.2003 18:04:40
Karsten J.
Hallo

Wenn ich folgende Formel per Makro einfügen möchte kommt es zum Fehler, warum?

Range("c2").Formula = "=Wenn(Besetzung!B1=0;"";Besetzung!B1)"

Bei einer einfachen Formel wie :
Range("c2").Formula = "1+3"
geht es ohne Probleme.

Was mache ich falsch?

MfG

Karsten


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Formel einfügen per Makro
22.06.2003 18:07:04
Georg_Zi

Hallo Karsten

Formel müssen in VBA in englisch eingegeben werden. Benutze mal den Makrorecorder.

Gruß Hajo

Falls Code vorhanden wurde er getestet unter Betriebssystem Windows 2000 Pro und Excel Version 2003 Beta 2.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Anzeige
Re: Formel einfügen per Makro
22.06.2003 18:14:22
PeterW

Hallo Karsten,

das Problem liegt in der Sprache und in den Anführungszeichen. Schreib es mal so:
Range("c2").FormulaLocal = "=Wenn(Besetzung!B1=0;"""";Besetzung!B1)"

Gruß
Peter

Re: Formel einfügen per Makro
22.06.2003 18:27:17
Karsten J.

Danke Peter , hat geklappt.

MfG

Karsten

Re: Formel einfügen per Makro
22.06.2003 20:52:41
PeterW

Hallo Karsten,

danke für die Rückmeldung. Ein Hinweis noch: warum schreibst du eine Formel, die keine Variablen enthält, mit VBA in eine Zelle? Du könntest direkt das Ergebnis der Formel schreiben:

Gruß
Peter

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Formel einfügen per Makro in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne die VBA-Umgebung: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub FormelEinfügen()
       Range("C2").FormulaLocal = "=Wenn(Besetzung!B1=0;"""";Besetzung!B1)"
    End Sub

    Achte darauf, dass du die Formel in der richtigen Sprache eingibst, falls du eine deutsche Excel-Version benutzt. Bei englischen Versionen musst du die Formel entsprechend anpassen.

  4. Führe das Makro aus: Drücke F5 oder klicke auf Run, um das Makro auszuführen. Die Formel wird in die Zelle C2 eingefügt.


Häufige Fehler und Lösungen

  • Fehler: "Falsche Formel": Wenn du eine Formel mit deutschen Funktionen wie Wenn eingibst, stelle sicher, dass du FormulaLocal verwendest. Bei englischen Funktionen nutze Formula.

  • Fehler: Anführungszeichen: In VBA musst du doppelte Anführungszeichen verwenden, um eine einfache Anführungszeichen darzustellen. Beispiel: """" für ein einzelnes ".


Alternative Methoden

  • Formel direkt eingeben: Wenn du eine einfache Rechnung durchführen möchtest, kannst du die Formel direkt ohne VBA in die Zelle eingeben. Zum Beispiel: =1+3.

  • Makrorecorder nutzen: Der Makrorecorder ist eine nützliche Funktion in Excel, die dir hilft, die genauen Schritte für das Einfügen von Formeln aufzuzeichnen.


Praktische Beispiele

  1. Einfügen einer einfachen Formel:

    Sub EinfacheFormel()
       Range("A1").Formula = "=1+3"
    End Sub
  2. Einfügen einer bedingten Formel:

    Sub BedingteFormel()
       Range("B1").FormulaLocal = "=Wenn(A1=0;""Leer"";A1)"
    End Sub

Diese Beispiele zeigen, wie du mit einem Excel Makro Formeln in Zellen einfügen kannst.


Tipps für Profis

  • Verwende Formula für englische Excel-Versionen: Wenn du in einer englischen Excel-Version arbeitest, achte darauf, die Funktionen in Englisch einzutragen, z.B. =IF(Besetzung!B1=0,"",Besetzung!B1).

  • Einsatz von Variablen: In VBA kannst du auch Variablen verwenden, um die Formeln dynamisch zu gestalten. Beispiel:

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Besetzung")
    Range("C2").Formula = "=IF(" & ws.Name & "!B1=0,""""," & ws.Name & "!B1)"

FAQ: Häufige Fragen

1. Wie kann ich eine Formel in eine andere Zelle einfügen? Du kannst die Range-Methode verwenden, um die Formel in die gewünschte Zelle einzufügen, z.B. Range("D2").Formula = "=A1+B1".

2. Was ist der Unterschied zwischen Formula und FormulaLocal? Formula wird für englische Formeln verwendet, während FormulaLocal für die lokale Sprache, z.B. Deutsch, verwendet wird.

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