Office: (Office 365) Hilfe bei VBA-Programmierung

Helfe beim Thema Hilfe bei VBA-Programmierung in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von AB19, 21. März 2023.

  1. AB19 Neuer User

    Hilfe bei VBA-Programmierung


    Hallöchen zusammen,

    ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion.
    Folgender Sachverhalt:
    Ich habe Rohdaten in einer Textdatei, die ich mir in Excel importiere. Diese Rohdaten bestehen aus einer Vielzahl an Zahlen, aufgegliedert nach verschiedenen "Szenarien". Die Szenarien sind jeweils unter einander gelistet und bestehen aus 80 Zeilen und 260 Spalten.
    Zur besseren Verständlichkeit lade ich eine Beispieldatei hoch. Hierin ist allerdings nur ein Ausschnitt enthalten, da die Anzahl an Szenarien später vmtl. bei 1000+ liegen wird.

    Das Ziel besteht nun darin, aus diesen Rohdaten in jeweils einem neuen Tabellenblatt folgendes zu berechnen:
    • Mittelwert
    • Maximum
    • Minimum
    • Standardabweichung
    Zur Berechnung sollen jeweils alle Zahlen herangezogen werden, die in den verschiedenen Szenarien an derselben Stelle stehen. Als Beispiel: Für den ersten Mittelwert der neuen Tabelle (A2) sollen die Zellen A2, A84, A166, A248 , etc. herangezogen werden. Hierbei ist sicher hilfreich zu wissen, dass die jeweiligen Zahlen immer an derselben Stelle stehen - sie sind immer 82 Zeilen auseinander. Die Berechnung soll dann für jede Zelle durchgeführt werden. Am Ende ist das Ziel eine einzige Tabelle (bzw. für Mittelwert, max, min, Sigma jeweils eine) aus der Vielzahl an Szenarien zu erhalten. Die Tabelle ist dann wiederum 80x260 groß.
    Ich hoffe das ist soweit verständlich. Ich habe bei der Beispieldatei im Tabellenblatt Mittelwert über eine Formel eingetragen, wie die Berechnung stattfinden soll.
    Ich habe das ganze auch bereits über eine Formel berechnet, allerdings ist das sehr rechenlastig (zudem muss die Berechnung nur einmal durchgeführt werden. Die Rohdaten ändern sich nicht bzw. für neue Rohdaten wird das Makro dann einfach nochmals durchgeführt. Es braucht also keine permanenten Verlinkungen).
    Formel in Zelle A2:
    =MITTELWERT(Rohdaten!A2;WENN(REST(ZEILE(INDIREKT("Rohdaten!"&ADRESSE(1;SPALTE(A2))&":"&ADRESSE(VERGLEICH(0;Rohdaten!A:A;-1);SPALTE(A2))))-ZEILE(A2);82)=0;INDIREKT("Rohdaten!"&ADRESSE(1;SPALTE(A2))&":"&ADRESSE(VERGLEICH(0;Rohdaten!A:A;-1);SPALTE(A2)))))

    Ich wäre über eure Hilfe wirklich sehr dankbar!

    Viele Grüße
    Andre

    PS: Falls es auch über eine simple Formel funktioniert, hätte ich auch nichts dagegen, allerdings würde ich alleine wegen der Performance VBA bevrzugen :)
     
  2. Klaus-Dieter Erfahrener User
    Hallo,

    ich warne vor der Auffassung, dass VBA per se schneller als Excel-Formeln ist. Das kann man so pauschal nicht sagen.
     
    Klaus-Dieter, 21. März 2023
    #2
  3. DL_
    DL_ PowerQuery Guru
    Moin

    Ändere das Layout zu: Szenario - Spalte - Wert
    Und dann mit Pivot auswerten.
     
  4. AB19 Neuer User

    Hilfe bei VBA-Programmierung

    Hey, danke für die Antwort. Leider verstehe ich nicht ganz was du damit meinst.
    Ich würde gerne die Rohdaten unverändert auswerten (kein extra Bearbeitungsschritt).
    Zudem sollen für die Berechnungen ja nicht alle Werte herangezogen werden, sondern wie beschrieben je Szenario die Werte an derselben Stelle, damit am Ende eine einzige Tabelle (80 Zeilen, 260 Spalten) mit den berechneten Werten 8sei es Mittelwert, Max, Min, etc.) entsteht
     
  5. AB19 Neuer User
    Das habe ich auch nicht so gesagt/gemeint. Ich habe lediglich das Problem, dass durch die vielen INDIREKT-Funktionen in meiner Formel und der Fülle an Rohdaten, meine Excel-Datei kaum bearbeitbar ist. Da wäre es mMn sicherlich sinnvoller einmal eine VBA-Funktion auszuführen, die die Werte berechnet und dann als Werte in ein Tabellenblatt einfügt (Die Formel zu kopieren und als Werte einzufügen ist nicht das Ziel - die Datei lässt sich durch die Unmenge an Formeln so schon kaum bearbeiten).
     
  6. DL_
    DL_ PowerQuery Guru
    Ich ändere meinen Vorschlag zu:
    Szenario - Spalte - Zeile - Wert

    Das ist der neue Tabellenaufbau.
    Man benötigt auf jeden Fall einen Bearbeitungsschritt - entweder einmalig oder als Skript.

    Wieso INDIREKT()? In der vorliegenden Datei gibt es keine Formeln mit INDIREKT().
     
  7. AB19 Neuer User
    Mir fällt gerade keine Möglichkeit ein wie ich die Rohdaten händisch schnell in dieses Layout bringen soll.
    Da die Anzahl der Szenarien einer Auswertung gut und gerne bei 1000 liegen kann und die Auswertung zudem mit verschiedenen Rohdaten-Sätzen wiederholt wird, wäre mMn ein Skript /VBA-Programm am sinnvollsten. Ich lasse mich aber auch gerne vom Gegenteil überzeugen.
    Die Formeln in der beigefügten Datei waren nur dazu da, die Funktionsweise zu erklären. Hierin sind auch nur 7 Szenarien enthalten. In der Originaldatei dann wie gesagt 1000+. Meine ursprüngliche Formel in Zelle A2 habe ich am Ende meines ursprünglichen Posts angefügt. Das wäre die folgende:
    =MITTELWERT(Rohdaten!A2;WENN(REST(ZEILE(INDIREKT("Rohdaten!"&ADRESSE(1;SPALTE(A2))&":"&ADRESSE(VERGLEICH(0;Rohdaten!A:A;-1);SPALTE(A2))))-ZEILE(A2);82)=0;INDIREKT("Rohdaten!"&ADRESSE(1;SPALTE(A2))&":"&ADRESSE(VERGLEICH(0;Rohdaten!A:A;-1);SPALTE(A2)))))
     
  8. DL_
    DL_ PowerQuery Guru

    Hilfe bei VBA-Programmierung

    Stichwort: Entpivotieren.
    Beste Möglichkeit: PQ
    Es wäre sinnvoll die Ur-Tabelle mit Spalten- und Zeilen-Überschriften zu versehen.
     
  9. AB19 Neuer User
    Dann wäre es aber erforderlich die Ur-Tabelle jedes mal neu anzupassen. Gibt es denn keine Möglichkeit, dies ohne eine Anpassung zu lösen? Das dürfte doch prinzipiell über VBA nicht so kompliziert sein, oder? Mir fehlt nur das Wissen bzgl. der Programmierung/Codes. Wie bereits erwähnt, habe ich das Problem ohne Anpassung mit einer Formel bereits gelöst (s.oben), allerdings ist diese zu rechenintensiv. Es ist ja immer dasselbe Schema. Den Mittelwert bilden über die anfängliche Zelle in Datensatz#0 und jede weitere 82. Zeile der Ur-Tabelle. Der Aufbau ist ja immer 1:1 gleich. Das Ergebnis entspricht dann auch dem selben Aufbau (Tabelle mit 80 Zeilen und 260 Spalten).
    Oder stelle ich mir das zu einfach vor? Ich würde eben gerne die Rohdaten nicht bearbeiten, da es etliche Ur-Tabellen geben wird. Das alles sind jeweils bestimmte Messergebnisse, die mir in einer txt Datei ausgegeben werden.
     
  10. DL_
    DL_ PowerQuery Guru
    Ohne Spalten- und Zeilen-Überschriften?
    Woher weiß man denn welche Bedeutung jeder Wert hat bzw. wie er ermittelt wurde?
     
  11. AB19 Neuer User
    Ja ohne Überschriften.
    Das alles sind verschiedene Messpunkte, die mehrfach wiederholt werden. Also ein Szenario wird bspw. 1000 mal wiederholt. Daher auch die Mittelwerte/Max/Min über dieselben Messpunkte der verschiedenen Szenarios. Die Auswertung dient lediglich dazu die Güte des Produkts bzgl. Messgenauigkeit feststellen zu können.
     
  12. DL_
    DL_ PowerQuery Guru
    Bitte sehr. Den Rest bekommst du selber hin.
    Die Datei war zu groß. Ich habe ein paar Spalten und Szenarien gelöscht.
     
  13. AB19 Neuer User

    Hilfe bei VBA-Programmierung

    Hey, vielen Dank für die Datei!
    Könntest du mir eventuell noch sagen, wie du von vom Rohdaten-TB auf das Query-TB gekommen bist?
    Bin Power Query habe ich um ehrlich zu sein bislang nicht viel zu tun gehabt.
     
  14. DL_
    DL_ PowerQuery Guru
    Öffne der/die/das Query-Pane über Daten -> Abfragen und Verbindungen -> Abfragen und Verbindungen.
    Mit Doppelklick auf einen Query gelangst du in den Query-Editor. Dort siehst du die Queries mit den Einzelschritten.
     
  15. AB19 Neuer User
    ah okay, vielen Dank.
    Das sind ja einige Schritte. Dann versuche ich mich da mal reinzudenken :)
    Nochmals Danke!
     
Thema:

Hilfe bei VBA-Programmierung

Die Seite wird geladen...
  1. Hilfe bei VBA-Programmierung - Similar Threads - Hilfe VBA Programmierung

  2. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  3. Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.)

    in Microsoft Excel Hilfe
    Excel VBA - Code Hilfe (Spalten, Werte kopieren etc.): Hallo, ich benötige Hilfe für ein Problem, welches ich leider selbst schwerlich als Anfänger nicht lösen kann: Ich möchte von dem Tabellenblatt "Tabelle1" aus den Zellen B8:B14, K8:K14, B18:B25,...
  4. Automatisch aktualisierende Tabelle? Hilfe!! :-)

    in Microsoft Excel Hilfe
    Automatisch aktualisierende Tabelle? Hilfe!! :-): Hallo zusammen, ich habe da ein kleines Excel-Problem und komme einfach nicht auf die Lösung. Ich habe 25 riesige Tabellen und möchte diese in einer Tabelle zusammen, wenn eine bestimmte...
  5. VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen

    in Microsoft Excel Hilfe
    VBA Hilfe für Zahlen eingeben und addieren + zellinhalt löschen: Hallo Leute ich brauche dringend Hilfe von einem VBA Spezialisten. Ich hoffe ihr seit mir nicht böse wenn ich sage das ich alles in der Datei beschrieben habe. Würde mich sehr freuen wenn jemand...
  6. VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen

    in Microsoft Excel Hilfe
    VBA - Zeilen je nach Bedingung in neues Tabellenblatt verschieben und löschen: Hallo liebe Excel-Kommunity, nach ewigen Stunden des Suchens und Rumprobierens bin ich an dem Punkt angekommen an dem ich verzweifelt um eure Hilfe fragen muss. Da ich leider keinerlei...
  7. Benötige Hilfe zu vba

    in Microsoft Excel Hilfe
    Benötige Hilfe zu vba: Hallo zusammen, ich habe eine Herausforderung, die ich mit meinen vba-Kenntnissen nicht lösen kann. Die Problematik stelle ich per Screenshot da. Ich bedanke mich schon im Vorfeld bei Euch für...
  8. VBA Programmierung - Hilfe

    in Microsoft Excel Hilfe
    VBA Programmierung - Hilfe: Hallo zusammen, ich bin blutige VBA anfängerin in Excel und versuche mich einzuarbeiten. Im groben kann ich mir vorstellen wie der Aufbau ist, jedoch klappt es bei mir trotzdem nicht. Zur Übung...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden