Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

=SummeUmbruch

=SummeUmbruch
16.11.2022 13:48:56
Herrmann
Hallo zusammen,
ich summiere eine Zahlenreihe mit Umbrüchen über mehrere Spalten (s. B5-E5) mit einem entsprechenden Code und der Formel:

=SummeUmbruch(C5:E5;1)
Jedoch funktioniert es nicht wenn ich das über mehrere Zeilen berechnen möchte (s. B8), es erscheint nur #WERT!-Fehler
Woran liegt es, kann mir jemand bitte aushelfen?
Beispieldatei mit dem oben genannten Code: https://www.herber.de/bbs/user/156209.xlsm
Herzlichen Danke im Voraus für eure Bemühungen
LG

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

Betreff
Datum
Anwender
Anzeige
AW: =SummeUmbruch
16.11.2022 13:49:58
Herrmann
angemerkt: Code und Formel von Rudi, Danke!
AW: =SummeUmbruch
16.11.2022 13:57:45
Rudi
Hallo,
was das mit dem Schritt soll, weiß ich nicht mehr.

Function SummeUmbruch(Bereich As Range, Schritt As Integer)
Dim arr
Dim i As Integer, j As Integer, k As Integer, tmp
arr = Bereich.Value
For i = LBound(arr) To UBound(arr) Step Schritt
For j = LBound(arr, 2) To UBound(arr, 2) Step Schritt
tmp = Split(arr(i, j), vbLf)
For k = LBound(tmp) To UBound(tmp)
If IsNumeric(tmp(k)) Then
SummeUmbruch = SummeUmbruch + tmp(k) * 1
End If
Next k
Next j
Next i
End Function
Gruß
Rudi
AW: =SummeUmbruch
16.11.2022 14:00:35
Herrmann
Hallo Rudi,
vielen Dank erneut! Funktioniert einwandfrei.
LG
Anzeige
AW: =SummeUmbruch
16.11.2022 14:10:55
Daniel
Hi
das Problem ist folgendes:
Transpose macht aus zweidimensionalen Arrays, die aus einer Zeile und vielen Spalten bestehen, ein eindimensionales Array.
aus einen zweidimensionalen Array, das aus einer Zeile und vielen Spalten besteht oder aus einem eindimensionalen Array macht Transpose jedoch ein zweidimensionales Array mit vielen Zeilen und einer Spalte.
Dh jenachdem wie die Daten angeordnet sind, hast du dann für die Endberechnung ein eindimensionales und mal ein zweidimensionales Array.
Diese müssten aber unterschiedllich Programmiert werden und können nicht mit dem selben Code bearbeitet werden.
Wenn die Schrittweite immer 1 ist und daher nicht benötigt wird, solltet du besser diesen Code verwenden, der läuft über alle Werte, egal wie die angeordnet sind:

Function SummeUmbruch(Bereich) As Double
Dim Z As Range
Dim T
For Each Z In Bereich
For Each T In Split(Z.Value, vbLf)
If IsNumeric(T) Then SummeUmbruch = SummeUmbruch + CDbl(T)
Next
Next
End Function
in der Formel gibst du dann nur den Zellbereich an: =SummeUmbruch(B5:E5)
Anzeige
AW: =SummeUmbruch
16.11.2022 14:16:23
Herrmann
Hallo Daniel,
auch an dich herzlichen Dank. Deine Lösung funktioniert super.
Jedoch habe ich grad das Problem, dass mit beiden Lösungen in der Orginaldatei #NAME! angezeigt wird..?
LG
Fehler behoben, danke euch beiden!
16.11.2022 14:20:00
Herrmann
Habe das Modul gelöscht und ein neues erstellt. Danke!
LG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige