VBA - Summierung einer Array-Zeile

Hallo liebe Wissenden,

ich habe ein 2-D-Array (also z.B. 3 Zeilen und 4 Spalten), welches nur Zahlen beinhaltet.
Ich habe festgestellt, dass ich mit

Application.WorksheetFunction.Sum(Arrayname)

die Gesamtsumme aus den Array-Elementen berechnen kann.
Nun möchte ich die Summe nur über eine Zeile oder Spalte.
Logisch für mich wäre:

Application.WorksheetFunction.Sum(Arrayname(Zeilennummer, ))

Aber leider wird da gemeckert („Fehler beim Kompilieren:Syntaxfehler“)…

Kann mir jemand helfen, zu meiner Zeilensumme zu kommen?

Danke
Mala

ich habe ein 2-D-Array (also z.B. 3 Zeilen und 4 Spalten),
welches nur Zahlen beinhaltet.
Nun möchte ich die Summe nur über eine Zeile oder Spalte.
Logisch für mich wäre:
Application.WorksheetFunction.Sum(Arrayname(Zeilennummer, ))
Kann mir jemand helfen, zu meiner Zeilensumme zu kommen?

Hi Mala,
warst schon sehr nah dran :smile:

Option Explicit
Option Base 1
Sub tt()
Dim Bereich
Set Bereich = Range(„A1:smiley:3“)
MsgBox Application.WorksheetFunction.Sum(Bereich.Rows(2)) '=Summe(A2:smiley:2)
End Sub

Gruß
Reinhad

Hallo Reinhard,

danke für die schnelle Antwort.
Ich habe noch eine Frage: Funktioniert das auch, wenn mein Array nicht in der Exeltabelle drinsteht, sondern nur als Variable im Code?

Liebe Grüße
Mala

Hi Mala,
warst schon sehr nah dran :smile:

Option Explicit
Option Base 1
Sub tt()
Dim Bereich
Set Bereich = Range(„A1:smiley:3“)
MsgBox Application.WorksheetFunction.Sum(Bereich.Rows(2))
'=Summe(A2:smiley:2)
End Sub

Gruß
Reinhad

Ich habe noch eine Frage: Funktioniert das auch, wenn mein
Array nicht in der Exeltabelle drinsteht, sondern nur als
Variable im Code?

Hi Mala,
sorry Lady, irgendwie verstehe ich die Frage nicht, magst du sie mal anders formulieren damit ich sie verstehe, wobei mein Unverständnis durchaus daher rühren kann dass gestern Abend Terorristen oder Marsmenschen mich überwältigten und mir dann Unmengen an Bier einflößten :smile:
Gruß
Reinhard

Hi Reinhard,
fiese, fiese Marsmenschen, hast bestimmt sehr gelitten gestern…
Aaaalso:
Ich habe eine hübsche Excel-Tabelle mit der ich ganz viel rumrechnen will. Es sollen aber nur die Endergebnisse wieder in die Tabelle geschrieben werden. Alle Zwischenergebnisse sollen nur benutzt , aber nicht ins Arbeitsblatt eingetragen werden.
Mein Array gehört zu diesen Zwischenergebnissen. Es stehet also nicht auf dem Arbeitsblatt, sondern ich habe eine Variable in Arrayform, von der ich - wie gesagt eine Zeile addieren will.
Habe grade Deine erste Variante ausprobiert, aber leider wird gemeckert, weil VBA bei „Rows“ nur an Zeilen auf dem Arbeitsblatt denkt…
Ich hoffe, das ist verständlich formuliert. Falls nicht, sag’ wo’s hakt.

Liebe Grüße
Mala

Hi Mala,
sorry Lady, irgendwie verstehe ich die Frage nicht, magst du
sie mal anders formulieren damit ich sie verstehe, wobei mein
Unverständnis durchaus daher rühren kann dass gestern Abend
Terorristen oder Marsmenschen mich überwältigten und mir dann
Unmengen an Bier einflößten :smile:
Gruß
Reinhard