Summe unbekannter Länge

Moderator: ModerationP

Summe unbekannter Länge

Beitragvon aloqqq » 01. Dez 2020, 11:50

Hi,

Im Summenbefehl muss ich ja normalerweise die Zellen nennen, die addiert werden.
Wie kann ich eine gesamte Spalte aufsummieren, wenn die Spalte immer unterschiedlich viele Werte enthalten kann?
Ich kann zwar nachschauen wie lang sie ist, aber dann muss ich den Code vor dem Nutzen ja immer wieder anpassen.

MfG
aloqqq
 

Re: Summe unbekannter Länge

Beitragvon AlterDresdner » 01. Dez 2020, 11:53

Hallo,
=SUMME(B:B)??
MfG
AlterDresdner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 113
Registriert: 24. Okt 2015, 15:57

Re: Summe unbekannter Länge

Beitragvon Gast » 01. Dez 2020, 12:21

Danke, in Excel funtioniert das super. Wie programmiere ich das für das Makro?

Code: Alles auswählen
Dim Summe as decimal
Summe = Workbooks("Testmakro").Worksheets("Tabelle1").Application.WorksheetFunction.Sum(I:I)

Funktioniert so leider nicht.
Gast
 

Re: Summe unbekannter Länge

Beitragvon RPP63 » 01. Dez 2020, 13:07

Moin!
Nimm es mir nicht übel:
Du willst ein Dach decken, ohne ein Haus zu besitzen!
Du solltest Dich erst mal in die Grundlagen einer Programmiersprache einarbeiten, bevor Du Dich an Code heranwagst.
https://www.vba-tutorial.de/

Damit Du aber nicht meinst, ich könnte nur moppern:
1. es gibt in VBA keinen Datentyp decimal
2. in Excel-VBA ist Application das "höchste" Objekt, kann also niemals innerhalb einer Objekt-Kaskade stehen.
Code: Alles auswählen
Dim Summe As Double 'oder auch Currency, je nach Gusto
Summe = Application.WorksheetFunction.Sum(Workbooks("Testmakro").Worksheets("Tabelle1").Range("I:I"))

Gruß Ralf
Benutzeravatar
RPP63
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 11035
Registriert: 19. Okt 2012, 17:41
Wohnort: mitten im Pott

Re: Summe unbekannter Länge

Beitragvon aloqqq » 01. Dez 2020, 13:27

Hi,

Kein Problem Ralf.
Allerdings weiß ich so wenig, das ich nicht weiß wo ich anfangen soll, deshalb frag ich nach dem was ich brauche.
Zum Lernen brauche ich Anwendungsbeispiele. Ich weiß welche Datentypen es gibt, aber nicht was in VBA davon nutzbar ist. Da weiß ich nicht wo ich das mal eben auf spezifische Weise nachschlagen.
Wenn ich ein Buch lese, bleib nicht genug hängen. Hier muss ich nur einmal lesen und habs für immer abgespeichert, weil ich direkt das ganze Nutzen und nachvollziehen kann.

Das mit dem Decimal Datentyp hab ich auch schon rausgefunden.

Tatsächlich funktioniert das bei mir um die Summe einer Spalte in eine Zelle zu schreiben:

Code: Alles auswählen
Range("K5").Formula = Workbooks("Testmakro").Worksheets("Tabelle1").Application.WorksheetFunction.Sum(Range("I1").EntireColumn)


Aber deine Variante ist deutlich besser. Danke
aloqqq
 

Re: Summe unbekannter Länge

Beitragvon DerHoepp » 01. Dez 2020, 21:34

Moinsen,

ich persönlich halte das Anfrage-Stakkato mit kleinteiligen Teilfragen für nicht sehr zielführend, aber ich habe auch nur eine Anmerkung zu Ralf:
RPP63 hat geschrieben:2. in Excel-VBA ist Application das "höchste" Objekt, kann also niemals innerhalb einer Objekt-Kaskade stehen.


Dass .Application bei fast allen Excel-Objekten als Unterobjekt mitgeführt wird, hat den Praktischen vorteil, dass du bei mehreren Application-Instanzen, oder beim übergreifenden Arbeiten keine eigene Kontrolle über zwei Application-Variablen benötigst.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 9229
Registriert: 14. Mai 2013, 11:08


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: Grace13, Klaus-Dieter, Rudius, snb, volti und 3 Gäste