Office: Wert aus Array summieren/kumulieren (mehrdimensional)

Helfe beim Thema Wert aus Array summieren/kumulieren (mehrdimensional) in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich nutze folgenden Code um eine Array-Variable auszulesen: Code: Dim arrBeispiel(5, 5) As Byte Dim lngSumme As Long arrBeispiel(1,... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JackassVBA, 6. März 2019.

  1. Wert aus Array summieren/kumulieren (mehrdimensional)


    Hallo zusammen,

    ich nutze folgenden Code um eine Array-Variable auszulesen:

    Code:
    Im aktuellen Beispiel ist die Summe 2 und funktioniert auch einwandfrei.

    Wenn ich nun die Dimensionen der Variable ergänzen muss z. B. auf arrBeispiel(5, 5,10) dann erhalte ich bei der Funktion worksheetfunction.sum den Laufzeitfehler '13' Typen unverträglich.

    Als Workaround lese ich die Daten über verschachtelte Schleifen aus. Gibt es eine einfachere und elegantere Lösung?

    Bitte um Info.

    Danke im Voraus.

    Gruß

    Michael

    :)
     
    JackassVBA, 6. März 2019
    #1
  2. Hallo Michael,

    aber mit dem gezeigten Code befüllst Du das Array doch?

    Wenn Du das Array ohnehin elementweise befüllst, dann lass dabei doch gleich eine Summe mitlaufen.

    "Eleganter" könntest Du es gestalten, wenn Du die Summierung in eine Function auslagerst - damit wird die Function auch universell einsetzbar.

    Ein Schleifendurchlauf durch das Array ist derart schnell, dass zumindest performanceseitig jeder andere Versuch vermutlich eher eine Verschlechterung bringen wird.

    Grüße
    EarlFred
     
    EarlFred, 7. März 2019
    #2
  3. Moin auch von mir,

    nur um das von EarlFred gesagte zu verstärken:
    Auch mir ist keine (eingebaute) möglichkeit bekannt, WorksheetFunctions auf Arrays mit mehr als zwei dimensionen anzuwenden. Die Schleife ist da das richtige.

    Viele Grüße
    derHöpp
     
    derHoepp, 8. März 2019
    #3
  4. Wert aus Array summieren/kumulieren (mehrdimensional)

    Hallo EarlFred,

    danke für die schnelle Reaktion.

    Das Array wird natürlich nicht manuell wie im Beispiel gefüllt, sondern über eine Auswertung in mehreren Schritten. Dabei können vorhandene Werte auch wieder überschrieben/geändert werden. Somit ist das kumulieren während des Füllvorganges nicht so trivial.

    Das Beispiel sollte nur verdeutlichen, dass die Worksheet-Funktion prinzipiell funktioniert. Als Laie ist es für mich nicht nachvollziehbar, warum die Funktion mit der dritten Dimension nicht mehr lauffähig ist*entsetzt .

    Gruß

    Michael
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    JackassVBA, 8. März 2019
    #4
  5. Hallo,
    wie auch die Hilfe aussagt, das ist eine WorksheetFunction also für TabBlatt-Arrays designed und die sind eben immer zweidimensional.

    Anderfalls mußt Du durch Dein n-Dimensionales Array per For Next loopen...

    Gruß, Muller2
     
    Muller2, 8. März 2019
    #5
  6. Hallo Michael,

    Es handelt sich um eine Funktion für ein Worksheet (WorksheetFunction.Sum). Arbeitsblätter sind zweidimensional (Zeilen / Spalten).
    Die Frage wäre dann also anders herum zu stellen: Warum sollte eine für ein Arbeitsblatt geschriebene Funktion 3 oder mehr Dimensionen bearbeiten können?

    Grüße
    EarlFred
     
    EarlFred, 8. März 2019
    #6
  7. Hallo noch einmal von mir,

    ich möchte da noch ergänzen, dass die "echte" Formel SUMME() im Unterschied zur WorksheetFunction.Sum() durchaus in der Lage ist, auch dreidimensionale Matrizen zu berechnen. Die dritte Dimension ist dabei das Arbeitsblatt:
    Code:
    Viele Grüße
    derHöpp
     
    derHoepp, 10. März 2019
    #7
Thema:

Wert aus Array summieren/kumulieren (mehrdimensional)

Die Seite wird geladen...
  1. Wert aus Array summieren/kumulieren (mehrdimensional) - Similar Threads - Wert Array summieren

  2. Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte

    in Microsoft Excel Hilfe
    Adressen in eine Zelle bei Übereinstimmung eindeutiger Werte einer anderen Spalte: Hallo zusammen, wer letzteren Thread kennt, hier eine Neuauflage. Problem: Aus Array-Berechnungen (Variablen von Let) ein weiteres Array zu erzeugen, welches für alle eindeutigen Werte aus G die...
  3. Werte aus Array mit Eingangswert auslesen

    in Microsoft Excel Hilfe
    Werte aus Array mit Eingangswert auslesen: Hallo Zusammen, schreibe heute das erst Mal einen Eintrag. Bisher konnte ich hier sehr viel Wissen abholen, doch mit einer akuellen Aufgabenstellung komme ich auch damit nicht zurecht. Ich habe...
  4. Werte einer externen Datei in array schreiben und nutzen

    in Microsoft Excel Hilfe
    Werte einer externen Datei in array schreiben und nutzen: Hallo Gemeinde, ich habe eine Datei in der ich Daten zweier Tabellen zusammen führe. Hierbei werden von jeder Tabelle nur die Werte bestimmter Spalten in eine weitere Tabelle geschrieben. Ich...
  5. Array so befüllen, dass die gefundene Werte nur einmal vorkommen

    in Microsoft Excel Hilfe
    Array so befüllen, dass die gefundene Werte nur einmal vorkommen: Hallo Zusammen, Wie kann man den Array so befüllen, das die Werte nur einmal vorkommen (Leere Bereiche müssen auch übersprungen werden) [ATTACH] Wenn eine Schleife merkt das der Wert (z.B....
  6. In Array suchen und Werte ausgeben

    in Microsoft Excel Hilfe
    In Array suchen und Werte ausgeben: Moinsen Rabauken, ich hab mal ne Frage an Euch Experten und hoffe ihr könnt mir als ambitionierten Quereinsteiger weiterhelfen. Ich würde das jetzt eigentlich mit einr Do while Schleife lösen,...
  7. Mehrere Werte aus Array auslesen

    in Microsoft Excel Hilfe
    Mehrere Werte aus Array auslesen: Hallo zusammen, ich müsste mehrere Werte aus einem Array auslesen. Das Array ist gefüllt mit den Werten 1 - 30. Bspw: Wert a = 28; Wert b = 2 Wenn Wert a in Array gefunden, dann suche nach Wert b...
  8. Einzelne Werte aus Array ausgeben

    in Microsoft Excel Hilfe
    Einzelne Werte aus Array ausgeben: Hallo Ich habe in einem Array mehrere Werte. z.B 11 . 12 . 13 . 14 . 15 . 16 . 17 nun will ich einzelne Werte aus dem Array auf ein mal ausgeben. z.B A1 . B1 . C1 . D1 . E1 . F1 . G1 11 . 12 ....
  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