Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formel durch Makro Zerlegen

Formel durch Makro Zerlegen
15.09.2021 12:46:59
SusiSonnenschein
Hallo Ihr lieben,
ich verzweifele grade daren ein Makro zu schreiben welches mir eine längere Formel in Ihre Einzelnen Bestandteile Aufteilt.
Zum Beispiel =Tabelle2!D8*Tabelle2!D9-Tabelle2!D10 in Zelle Tabelle1 Zelle A1
Ich möchte in einem neuen Tabellenblatt folgende Auflistung erstellen
Zelle Faktor1 Abschnitt1 Faktor2 Abschnitt2 Faktor2 Abschnitt2 Faktor3 Abschnitt3 Faktor4 Abschnitt4 Faktor5 Abschnitt5
Tabelle1A1 + Tabelle2!D8 * Tabelle2!D9 - Tabelle2!D10 leer leer leer leer leer leer
Ich bekomme es leider nicht hin. Benötige es aber um ein riesen Datenblatt Auszuwerten.
Viele liebe Grüße
Susi

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: so mE nicht nachvollziehbar ...
15.09.2021 14:06:41
neopa
Hallo Susi,
... welche (lange!?) Auswertungsformel hast Du und wo und wie genau soll diese für welche Auswertung "zerlegt" werden?.
Zeige besser Dein IST und Deine Zielstellung an Hand (D)einer Beispieldatei auf, dann findest Du sicherlich eher Hilfe. Vielleicht bedarf es ja auch gar kein VBA dann evtl. auch von mir, denn persönlich beschäftige ich mich mit VBA nämlich nicht.
Gruß Werner
.. , - ...
AW: Formel durch Makro Zerlegen
15.09.2021 14:07:41
UweD
Hallo
lad mal eine kleine Musterdatei hoch (2-3 Zeilen reichen)
Wichtig: Ist und dein Sollzustand mal händisch darstellen
LG UweD
AW: Formel durch Makro Zerlegen
15.09.2021 15:15:23
SusiSonnenschein
Hallo Ihr lieben!
vielen Dank für Eure Antworten.
Anbei habe ich Euch eine vereinfachte Exceldatei gebastelt.
Variante 2 Wäre für mich ein Traum ;-).
Viele liebe Grüße
Susi
https://www.herber.de/bbs/user/148084.xlsx
Anzeige
AW: Formel durch Makro Zerlegen
15.09.2021 15:23:11
EtoPHG
Hallo Susi,
Was ums Himmelswillen willst du erreichen?
Das ganze Formelauswertung Gedöns ist doch schon in der so benannten Funktion im Ribbon Formeln vorhanden!
Willst Du Excel neu bauen?
Gruess Hansueli
AW: Formel durch Makro Zerlegen
15.09.2021 15:50:42
SusiSonnenschein
Hallo Hansueli,
ich habe eine Tapete geerbt, welche direkt auf einen Hyperion Retrieve direkt auf die Zellen verlinkt ist. Sowas bescheuertes!
Mit der Aufstellung könnte ich das ganze dann über die Schlüssel automatisch zusammenaddieren, was mir das Leben unheimlich erleichtern würde.
Ihr würdet mir hier einen riesen geafllen tun, wenn ich so ein Makro zur Analyse hätte.
Viele liebe Grüße
Susi
Anzeige
AW: Formel durch Makro Zerlegen
15.09.2021 15:40:21
Daniel
Hi
den Formeltext einer Zelle kannst du mit gleichnamiger Funktion ermitteln (ab Excel 2013)
dh in C6 die Formel: =FORMELTEXT(INDIREKT(TEIL(C7;2;9999)))
der Rest der Analyse übersteigt dann meine Fähigkeit, bzw mein Excelwissen.
Gruß Daniel
AW: Formel durch Makro Zerlegen
15.09.2021 15:53:24
SusiSonnenschein
Hallo Daniel,
danke für die Antwort aber das hilft mir leider nicht weiter.
Viele liebe Grüße
Susi
AW: Formel durch Makro Zerlegen
15.09.2021 16:07:06
Daniel
HI
beispielsweise so mit diesem Makro:
zur Ausführung die Zellen, die analysiert werden sollen, markieren und dann das Makro starten.
Die Ausgabe erfolgt für deine Beispieldatei im Blatt "Formalanalyse" ab Zeile 13

Sub FormelAnalyse()
Dim Zelle As Range
Dim Formel As String
Dim FormelA As String
Dim TeilText
Dim Zeile As Long
Dim T
Dim i As Long
Zeile = 12 'Start Ausgabe
For Each Zelle In Selection
Formel = Zelle.FormulaLocal
FormelA = Formel
For Each T In Array("*", "+", "-", "/")
FormelA = Replace(FormelA, T, "|" & T & "|")
Next
TeilText = Split(FormelA, "|")
For i = 1 To UBound(TeilText) Step 2
Zeile = Zeile + 1
With Sheets("Formelanalyse")
.Cells(Zeile, 3) = "!" & Zelle.Worksheet.Name & "!" & Zelle.Address(0, 0)
.Cells(Zeile, 4) = "'" & Formel
.Cells(Zeile, 5) = Zelle.Offset(0, -1).Value
.Cells(Zeile, 6) = TeilText(i)
.Cells(Zeile, 7) = TeilText(i + 1)
.Cells(Zeile, 8) = Range(TeilText(i + 1)).Offset(0, -1)
.Cells(Zeile, 9) = Range(TeilText(i + 1)).Offset(7 - Range(TeilText(i + 1)).Row, 0)
End With
Next
Next
End Sub
beachte, dass das ganze nicht sonderlich flexibel ist und nur für Formeln nach dem gezeigten Schema funktioniert, dh mit dem Aufbau

= Operator Faktor Operator Faktor ....
dh schon eine Klammersetzung lässt sich nicht mehr so ohne weiteres analysieren, außerdem muss auch vor dem ersten Faktor ein Operator stehen (ist in deinem Beispiel so gegeben)
Lediglich die Anzahl der Fakoren ist variabel.
zulässig als Operator sind die 4 Grundrechenarten +-*/
Gruß Daniel
Anzeige
AW: Formel durch Makro Zerlegen
15.09.2021 16:11:25
SusiSonnenschein
Hi Daniel,
ich könnte dich knutschen.
Viele lieben Dank!
Viele Liebe Grüße
Susi
Wäre es nicht sinnvoller, ...
15.09.2021 18:34:35
Luc:-?
…Susi,
zu hinterfragen, warum das so gemacht wurde‽ Es muss doch irgendeinen Sinn gehabt haben, denn das stammt ja aus der Oracle-DB-Welt und natürlich gehört dazu ein Excel(=Xl)-AddIn. Vielleicht mal nachlesen: https://docs.oracle.com/cd/E12379_01/doc/ent.650/user.pdf
Unter https://www.google.com/search?client=firefox-b-d&q=hyperion+retrieve+excel+2016 findet man auch noch etliche Hinweise und Fragestellungen.
Ansonsten bedeutet ein vollständiges Parsen beliebiger Xl-Fmln ziemlich viel ProgrammierAufwand, den ich für normale ZellFmln schon mal auf mich genommen hatte. Dabei wdn mehrere Kategorien von Fml-BestandTeilen unterschieden, mit dem Ziel einer einfacheren Fml mit Variablen, denen die einzelnen Fml-Teile gelistet und sinnvoll zugeordnet wdn. Allerdings ist der Teil zu Fmln in definierten Tabellen bisher nur rudimentär und deshalb ist das zZ auch nur in Ergebnissen im Archiv zu sehen, aber nicht als Pgm veröffentlicht worden.
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige