online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Aynaet vom 19.09.2019, 17:25 Options

Makro vereinfachen

Hallo zusammen,

nach ewigem Foren-lesen hab ich es geschafft ein Makro zu basteln, das sogar das tut was ich moechte. (juhu) Allerdings muss das auch irgendwie einfacher gehen - hoffe ich.

Ich habe in einer Excel Datei mehrere identische sheets und moechte jeweils die zellen C D und E addieren.

Mein Makro sieht folgendermassen aus:

Sub Addieren()
Dim Summen!
Summen = 0
For i = 1 To Worksheets.Count
Summen = Summen + Worksheets(i).[C15]
Next
Range("C15") = Summen
For i = 1 To Worksheets.Count
Summen = Summen + Worksheets(i).[D15]
Next
Range("D15") = Summen
For i = 1 To Worksheets.Count
Summen = Summen + Worksheets(i).[E15]
Next
Range("E15") = Summen
End sub


Jetzt moechte ich das allerdings auch noch mit den folgenden Zeilen machen - bis zur Zeile 104. Muss ich jetzt alles mit Copy und Paste machen und jeweils die richtige Zeile einsetzen oder geht das auch irgendwie einfacher??

Waere super, wenn mir jemand weiterhelfen koennte. Danke!


Antwort schreiben

Antwort 1 von rainberg vom 19.09.2019, 18:29 Options

Hallo,

das ist zwar etwas primitiv, aber funktioniert - vorausgesetzt ich habe Dich richtig verstanden.
Anstatt der MsgBox kannst Du eine beliebige Zelle einsetzen.

In den 3 Zeilen mit den WorksheetFunctionen dürfen sich keine Zeilenvorschübe befinden.

Option Explicit

Sub Addieren()
   Dim dblSummen As Double, sngI As Single
   For sngI = 1 To Worksheets.Count
      dblSummen = dblSummen + WorksheetFunction.Sum(Worksheets(sngI).Range("C15:C104").Value) + WorksheetFunction.Sum(Worksheets(sngI).Range("D15:D104").Value) + WorksheetFunction.Sum(Worksheets(sngI).Range("E15:E104").Value)
   Next
   MsgBox dblSummen
End Sub

Gruß
Rainer

Antwort 2 von Aynaet vom 19.09.2019, 18:43 Options

Mhm - nee.

Das zaehlt jetzt alles zusammen oder?

Also ich habe 8 gleiche Sheets in einer Datei. In jedem Sheet steht auf C15 eine andere Zahl, jetzt moechte ich im 9ten Sheet (da wo ich alles zusammenfassen moechte) auf C15 die Summe aller Zahlen, die in den anderen 8 Sheets auf C15 stehen erhalten.

Das gleiche dann auch fuer E15 und D15.

Und dann das jeweils so weiter bis C/D/E/115 einzeln pro Zeile.

Ist das verstaendlicher?

Danke!

Antwort 3 von rainberg vom 19.09.2019, 19:35 Options

Hallo,

also doch falsch verstanden.

Als Ausgleich biete ich Dir eine Formellösung, der ich gegenüber einem Makro den Vorrang geben würde.

Probiers mal:

Schreibe in C15 von Tabelle9 folgende Formel, kopiere diese zunächst nach rechts bis in Spalte E, behalte die Markierung bei und kopiere alle 3 Formeln bis in Zeile 115. Fertig

=SUMME(Tabelle1:Tabelle8!C15)

Achtung! die Ergebnistabelle muß sich rechts neben allen anderen Tabellen befinden.
Der Name von Tabelle1 und Tabelle8 darf nicht geändert werden, es sei denn er wird auch in der Formel angepasst.

Gruß
Rainer

Antwort 4 von nighty vom 19.09.2019, 19:49 Options

hi Aynaet :-)

statt [E15] kannst du auch

cells(senkrechte,waagerechte) benutzen

oder auch

range(cells(senkrechte,waagerechte),cells(senkrechte,waagerechte)) fuer bereiche

ergo

linke obere zellkoordinaten+rechte untere zellkoordinate

gruss nighty

Antwort 5 von nighty vom 19.09.2019, 20:19 Options

hi Aynaet :-)

hier noch eine variante,wobei das haettest du auch allein geschafft,trau dir mal ein bisl mehr zu

gruss nighty

Sub Addieren()
For i = 1 To Worksheets.Count
For z = 3 To 5
Cells(15, z) = Cells(15, z) + WorksheetFunction.Sum(Worksheets(i).Range(Worksheets(i).Cells(15, z), Worksheets(i).Cells(104, z)))
Next z
Next
End Sub

Antwort 6 von Aynaet vom 20.09.2019, 00:23 Options

Danke!!

Hab's geschafft. Habe die Formellösung genommen und noch einiges hinzugedichtet :-)

Werde aber das Makro auch nochmal versuchen wenn ich morgen wieder grade schauen kann, dann hab ich es nächstes Mal einfacher.

Schöne Grüße aus USA! (damit sich niemand über meine Arbeitszeiten wundert hier *gg*)

Ähnliche Themen

Makro über Makro einfügen
fubajunkie  04.03.2007 - 88 Hits - 2 Antworten

VBS-Schleife bis (Word)Textende erreicht ist
HAWISCHA  28.11.2007 - 96 Hits - 2 Antworten

Daten aus Excel nach Word kopieren, mit VBA
Saarbauer  07.11.2008 - 468 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026