Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1736to1740
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

Spalte H über alle Sheets summieren

Spalte H über alle Sheets summieren
05.02.2020 08:54:07
Marc
Hallo zusammen,
ich habe die Aufgabe alle Werte der Spalten H über alle Arbeitsblätter aufzusummieren.
Ich bin ein ziemlicher VBA Anfänger und habe dafür folgenden Code programmiert:

Sub Aufheben()
Dim WsTabelle As Worksheet
Dim letztezahl As Integer
Dim Gewicht As Double
Dim i As Integer
Gewicht = 0
Sheets("02.01.2019").Select
For Each WsTabelle In Sheets
letztezahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Columns("H:H").Select
Selection.Replace What:=",", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
For i = 11 To letztezahl
Gewicht = Gewicht + ActiveSheet.Range("H" & i).Value
Next
Next WsTabelle
MsgBox "Das Gesamtgewicht beträgt: " & Gewicht & " KG!!!"
Sheets("Start").Select
End Sub

Da in der Spalte H noch Werte als Text erkannt wurden, wenn ich aber das Komma durch Komma ersetzt wurde die Werte plötzlich als Zahl summiert werden konnten, habe ich die Suchen/Ersetzen Geschichte eingebaut. Das ist also eher meines nicht könnens geschuldet...
Und ich beginne ab Zeile 11, da bis Zeile 11 nichts drin steht, was zusammen gezählt werden muss.
Nun kommt aber leider nicht das raus, was rauskommen soll...
Seht ihr einen Fehler?
Leider kann ich die Originaldatei nicht hochladen, da stehen zu viele Personenbezogene Daten drin...
Lieben Gruß
Marc

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte H über alle Sheets summieren
05.02.2020 09:03:43
Marc
Habe eben gesehen, dass das mit dem Suchen und ersetzen nicht bei allen Tabellenblättern geklappt hat...
Gibt es da noch eine andere Möglichkeit aus dem Text eine Zahl zu machen (per Programm?)
LG
Marc
AW: Spalte H über alle Sheets summieren
05.02.2020 09:55:23
Marc
Ich habe das Gefühl, dass der gar nicht durch alle Sheets läuft.
;(
Danke für Eure Hilfe!
LG
Marc
AW: Spalte H über alle Sheets summieren
05.02.2020 10:07:27
Daniel
RICHTIG.
Zellbezüge (Range, Cells, Columns Rows) ohne Tabellenblattangabe davor beziehen sich immer auf das gerade aktive Tabellenblatt, oder wenn der Code in einem Tabellenblattmodul steht, auf das Tabellenblatt des Moduls.
das Tabellenblatt, das bearbeitet werden soll, steht ja in der Variablen WsTabele
verzichte auf die Selects und gib einfach das Tabellenblatt vor den Zellbezügen mit an, dann läuft der Code
…
letztezahl = WsTabelle.Cells(WsTabelle.Rows.Count, 1).End(xlUp).Row
WsTablle.Columns("H:H").Replace What:=",", …
Gewicht = Gewicht + WsTabelle.Range("H" & i).Value
Gruß Daniel
Anzeige
AW: Spalte H über alle Sheets summieren
05.02.2020 12:42:07
Marc
@Daniel: Ich bekomme einen Laufzeitfehler bei WsTablle.Columns("H:H").Replace What:=",", …
Hier wäre ein Objekt erforderlich?!
Sub Aufheben_alt()
Dim WsTabelle As Worksheet
Dim letztezahl As Integer
Dim Gewicht As Double
Dim gewichtausgabe As String
Dim i As Integer
Gewicht = 0
Sheets("02.01.2019").Select
For Each WsTabelle In Sheets
letztezahl = WsTabelle.Cells(WsTabelle.Rows.Count, 1).End(xlUp).Row
Range("AA11").Select
ActiveCell.FormulaR1C1 = "=NUMBERVALUE(RC[-19])"
Selection.AutoFill Destination:=Range("AA11:AA" & letztezahl), Type:=xlFillDefault
WsTablle.Columns("H:H").Replace What:=",", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
For i = 11 To letztezahl
Gewicht = Gewicht + WsTabelle.Range("AA" & i).Value
Next
Next WsTabelle
gewichtausgabe = Format(Gewicht, "#,##0")
MsgBox "Das Gesamtgewicht beträgt: " & Gewicht & " KG!!!"
Sheets("Start").Select
End Sub

Anzeige
AW: Spalte H über alle Sheets summieren
05.02.2020 13:05:56
Daniel
Ja, wäre erforderlich
prüfe deine Variablenbezeichnungen und arbeite mit Option Expicit
Gruß Daniel
AW: Spalte H über alle Sheets summieren
05.02.2020 13:43:43
Marc
@daniel
Das verstehe ich nicht.
Kannst Du mir genau erklären, was Du meinst? Was für ein Objekt ist hier notwendig?
LG
Marc
AW: Spalte H über alle Sheets summieren
05.02.2020 17:23:45
Daniel
du hast im Code einen Variablennamen falsch geschrieben.
wenn du einmal "Klaus" schreibst und ein andermal "Kalus", dann fühlt sich der erste Klaus beim zweiten mal nicht angesprochen.
AW: Spalte H über alle Sheets summieren
05.02.2020 10:09:29
Rudi
Hallo,
versuchs mal so:
Sub Aufheben()
Dim WsTabelle As Worksheet
Dim LetzteZeile As Long
Dim Gewicht As Double
Dim i As Integer
Dim vntTMP
For Each WsTabelle In Worksheets
With WsTabelle
LetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
With .Range(.Cells(11, 8), .Cells(LetzteZeile, 8))
vntTMP = .Value
For i = 1 To UBound(vntTMP)
If IsNumeric(vntTMP) Then
vntTMP(i, 1) = vntTMP(i, 1) * 1
Gewicht = Gewicht + vntTMP(i, 1)
End If
Next i
.NumberFormat = "General"
.Value = vntTMP
End With
End With
Next WsTabelle
MsgBox "Das Gesamtgewicht beträgt: " & Gewicht & " KG!!!"
Sheets("Start").Select
End Sub

Gruß
Rudi
Anzeige
AW: Spalte H über alle Sheets summieren
05.02.2020 12:43:09
Marc
Hallo Rudi,
das Programm läuft zwar durch aber gibt mir 0 KG aus.... :(
LG
Marc
AW: Spalte H über alle Sheets summieren
05.02.2020 15:09:06
Werner
Hallo,
dann lad mal deine Mappe hoch. Deine "personenbezogenen Daten" braucht kein Mensch, schmeiß sie einfach raus.
Alles andere ist nur eine wilde Raterei.
Gruß Werner
AW: Spalte H über alle Sheets summieren
06.02.2020 08:13:45
Marc
Hallo zusammen,
ich habe nun eine Datei nur mit der Spalte gemacht, die aufsummiert werden muss. Insgesamt hat die Datei aber 250 solcher Tabellenblätter und deutlich mehr Zeilen je Tabellenblatt...
https://www.herber.de/bbs/user/135025.xlsx
Danke und lieben Gruß
Marc
Anzeige
AW: Spalte H über alle Sheets summieren
06.02.2020 09:52:58
Marc
Hallo zusammen,
ich habe nun eine Datei nur mit der Spalte gemacht, die aufsummiert werden muss. Insgesamt hat die Datei aber 250 solcher Tabellenblätter und deutlich mehr Zeilen je Tabellenblatt...
https://www.herber.de/bbs/user/135025.xlsx
Danke und lieben Gruß
Marc
AW: Spalte H über alle Sheets summieren
06.02.2020 10:51:36
Werner
Hallo Marc,
Rudi hatte hier:
If IsNumeric(vntTMP) Then

das müsste aber:
If IsNumeric(vntTMP(i, 1)) Then
Ich habe das in Rudis Code mal geändert. Voraussetzung, dass das klappt, ist aber auch, dass in deinen Blättern die Spalte A jeweils bis zum Tabellenende Daten aufweist, weil in Spalte A die letzte belegte Zelle ermittelt wird.
Schau mal deine Mappe an.
https://www.herber.de/bbs/user/135029.xlsm
Gruß Werner
Anzeige
AW: Spalte H über alle Sheets summieren
06.02.2020 11:32:35
Marc
Danke Werner, das hat nun geklappt!
Danke, danke, danke!!
Gerne u. Danke für die Rückmeldung. o.w.T.
06.02.2020 11:42:24
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige