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

Forumthread: Formel in Array und dann in Zelle schreiben

Formel in Array und dann in Zelle schreiben
13.06.2019 20:50:51
AnBad
Hallo,
man kann offensichtlich eine Formel in einem Array ablegen:
arrAusgabe(z) = "=""Test""&SUMME(G22:G27)"
Wenn ich nun das ArrAusgabe(z) in eine Zelle schreibe, dann funktioniert das auch. Jedoch wird die Formel nicht berechnet, sondern es erscheint ein "#NAME?". Erst wenn ich jetzt in die Zelle gehe, und "Enter" drücke, wird schön fein in die Zelle "Test 1200" geschrieben.
Warum schreibt Excel "#NAME"? Kann man das umgehen?
Vg und schönen Abend!!
Michael
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in Array und dann in Zelle schreiben
13.06.2019 21:14:01
AnBad
Na, weiß nicht, scheint nicht die Lösung meines Problems zu sein.
Ich habe mich vielleicht nicht präzise ausgerückt.
In einem Array sind teilweise nur Text (xyz) und teilweise Text mit Formeln ("=""Test""&SUMME(G22:G27)") abgelegt.
Wenn ich das Array nun in "einem Rutsch" in die Zellen schreibe, dann kommt bei den Zellen mit Text+Formeln der Fehler "#Name". Erst wenn ich die Zellen Text+Formeln nochmals aktiviere und mit Enter bestätige, kommt der richtige Wert Text+Zahl.
Mit einer Schleife arbeiten, und die Formeln einzeln in die Zellen einfügen lassen, wird nicht praktikabel sein wegen der Zeitdauer.
Tausend Dank!
Das kann man nicht umgehen, oder?
vg
PS: Daniel, Du bist Schuld, dass ich mich mit Excel so beschäftige!! Du hast damals schnell in der U-Bahn so ein dic für mich geschrieben, was mich so in den Bann gezogen hat... :-)
Anzeige
AW: Formel in Array und dann in Zelle schreiben
13.06.2019 21:27:46
Daniel
Hi
doch, passt schon.
wenn du den Wert ohne weitere Angaben der Zelle übergibst:
Range(...) = "..."
so enspricht das einem
Range(...).Value = "..."
für welches die gleichen Spielregeln gelten, wie bei
Range(...).Formula = "..."
heißt: Formeln und Zahlen müssen nach den amerikanischen Regeln geschrieben werden, damit sie korrekt erkannt werden. (englische Funktionsnamen, Komma als Parametertrenner, Punkt als Dezimalzeichen)
Gruß Daniel
Anzeige
AW: Formel in Array und dann in Zelle schreiben
13.06.2019 21:35:22
Sepp
Hallo Michael,
so?
Sub test()
Dim varAusgabe(2)

varAusgabe(0) = "Text"
varAusgabe(1) = "=""Test ""&SUMME(G22:G27)"
varAusgabe(2) = "=TEXT(HEUTE();""TTT TT.MM.JJJJ"")&"" Test"""

Range("A1:C1").FormulaLocal = varAusgabe
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
AW: Formel in Array und dann in Zelle schreiben
13.06.2019 21:47:03
AnBad
Hi,
vielen Dank Euch beiden!
Muss ich übers Wochenende testen.
Ich muss mal schauen, da ich das Array derzeit mit "WorksheetFunction.Transpose(arrAusgabe)" schreibe.
Danke und Guten Nacht!!!
AW: Formel in Array und dann in Zelle schreiben
14.06.2019 06:36:01
AnBad
Hallo,
habe es heute morgen schon probiert!!
Hat prima geklappt.
Super
Tausend Dank!!!
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formel in Array und dann in Zelle schreiben


Schritt-für-Schritt-Anleitung

  1. Formel in Array definieren: Du kannst eine Excel-Formel in einem Array ablegen. Ein Beispiel könnte so aussehen:

    arrAusgabe(z) = "=""Test""&SUMME(G22:G27)"
  2. In Zelle schreiben: Um die Formel in eine Zelle zu übertragen, verwendest du:

    Range("A1").Formula = arrAusgabe(z)
  3. Bestätigen: Wenn du die Zelle nach dem Einfügen der Formel nicht aktivierst und mit "Enter" bestätigst, kann es sein, dass Excel die Formel nicht berechnet und stattdessen "#NAME?" anzeigt.

  4. Verwendung von .FormulaLocal: Um sicherzustellen, dass die Formeln korrekt erkannt werden, kannst du versuchen, die lokale Formel wie folgt zu setzen:

    Range("A1").FormulaLocal = arrAusgabe

Häufige Fehler und Lösungen

  • Fehler #NAME?: Dieser Fehler tritt auf, wenn Excel die Formel nicht erkennen kann. Stelle sicher, dass die Formel korrekt formatiert ist und alle Funktionen in der entsprechenden Sprache vorliegen. In der deutschen Excel-Version musst du z.B. SUMME statt SUM verwenden.

  • Formel wird nicht berechnet: Wenn du die Zellen mit Formeln in einem Rutsch beschreibst, wird die Berechnung möglicherweise nicht automatisch ausgeführt. Aktiviere die Zelle und drücke "Enter", um die Berechnung zu erzwingen.


Alternative Methoden

  • VBA Schleifen verwenden: Obwohl es nicht die schnellste Methode ist, kannst du auch eine Schleife verwenden, um jede Formel einzeln in die Zellen zu schreiben. Dies könnte wie folgt aussehen:

    For i = LBound(varAusgabe) To UBound(varAusgabe)
       Range("A" & i + 1).Formula = varAusgabe(i)
    Next i
  • WorksheetFunction.Transpose: Wenn du das Array mit WorksheetFunction.Transpose(arrAusgabe) schreibst, kannst du sicherstellen, dass die Formeln in die korrekten Zellen eingefügt werden.


Praktische Beispiele

Hier ist ein Beispiel, wie du ein Array mit Text und Formeln definieren und in Zellen schreiben kannst:

Sub test()
    Dim varAusgabe(2)

    varAusgabe(0) = "Text"
    varAusgabe(1) = "=""Test""&SUMME(G22:G27)"
    varAusgabe(2) = "=TEXT(HEUTE();""TTT TT.MM.JJJJ"")&"" Test"""

    Range("A1:C1").FormulaLocal = varAusgabe
End Sub

Dieses Skript wird die Formeln korrekt in die Zellen A1 bis C1 einfügen.


Tipps für Profis

  • Formeln richtig formatieren: Achte darauf, dass du die Formeln nach den amerikanischen Regeln (englische Funktionsnamen, Komma als Parametertrenner) schreibst, wenn du mit .Formula arbeitest.

  • Debugging: Wenn eine Formel nicht funktioniert, prüfe die Syntax und ob alle verwendeten Funktionen richtig benannt sind.

  • Verwendung von Arrays: Bei großen Datenmengen kann die Verwendung von Arrays die Performance verbessern, da du mehrere Zellen auf einmal beschreiben kannst.


FAQ: Häufige Fragen

1. Warum erscheint der Fehler #NAME? Dieser Fehler tritt auf, wenn Excel die Formel nicht erkennen kann. Stelle sicher, dass alle Funktionen korrekt benannt sind und die Syntax stimmt.

2. Wie kann ich Formeln in einem Array definieren? Du kannst Formeln in einem Array definieren, indem du sie als Strings speicherst und anschließend in die Zellen überträgst, z.B. mit Range(...).Formula.

3. Was ist der Unterschied zwischen .Formula und .FormulaLocal? .Formula erwartet die Formel in englischer Sprache, während .FormulaLocal die Formel in der aktuell eingestellten Sprache erwartet, was die Nutzung in deutschen Excel-Versionen erleichtert.

4. Wie kann ich mehrere Formeln gleichzeitig einfügen? Du kannst ein Array von Formeln definieren und dann mit einer einzigen Zuweisung in den Zellen einfügen, was eine effiziente Methode ist.

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