Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten kumulieren

Forumthread: Daten kumulieren

Daten kumulieren
08.08.2006 13:36:33
Sebastian
Hallo,
ich möchte Daten aus Textfiles wöchentlich einlesen. Die neuen Daten sollen dann auf die vorhanden aufaddiert werden.
Als Makro-Anfänger hab ich nun einen Code geschrieben, der die neuen Daten ins zweite Tabellenblatt("neue") einliest. Diese müssten sodann auf die vorhandenen Daten im ersten Tabellenblatt("vorhandene") aufaddiert werden.
Ideal wäre es, wenn das Makro "variabel" einsetzbar ist, also für mehr/weniger Zeilen/Spalten.
Ein Beispiel:

Die Datei https://www.herber.de/bbs/user/35650.xls wurde aus Datenschutzgründen gelöscht

Danke,
Sebastian
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten kumulieren
08.08.2006 14:08:05
ede
hier noch mal eine kleine anpassung, bitte code uswechseln.
gruss

Sub hinzu()
quelle = "neue"
ziel = "vorhandene"
lzq = Sheets(quelle).Cells(65536, 1).End(xlUp).Row
lzz = Sheets(quelle).Cells(65536, 1).End(xlUp).Row
zeile = 0
startz = 3
startq = 3
For i = startq To lzq
done = True
For j = startz To lzz
If Sheets(ziel).Cells(j, 1) = Sheets(quelle).Cells(i, 1) Then
Sheets(ziel).Cells(j, 2) = Sheets(ziel).Cells(j, 2) + Sheets(quelle).Cells(i, 2)
Sheets(ziel).Cells(j, 3) = Sheets(ziel).Cells(j, 3) + Sheets(quelle).Cells(i, 3)
Sheets(ziel).Cells(j, 4) = Sheets(ziel).Cells(j, 4) + Sheets(quelle).Cells(i, 4)
done = False
End If
Next j
If done Then
Sheets(ziel).Cells(lzz + zeile, 1) = Sheets(quelle).Cells(i, 1)
Sheets(ziel).Cells(lzz + zeile, 2) = Sheets(quelle).Cells(i, 2)
Sheets(ziel).Cells(lzz + zeile, 3) = Sheets(quelle).Cells(i, 3)
Sheets(ziel).Cells(lzz + zeile, 4) = Sheets(quelle).Cells(i, 4)
zeile = zeile + 1
End If
Next i
End Sub

Anzeige
korrektur
08.08.2006 14:12:51
ede
so:

Sub hinzu()
quelle = "neue"
ziel = "vorhandene"
lzq = Sheets(quelle).Cells(65536, 1).End(xlUp).Row
lzz = Sheets(ziel).Cells(65536, 1).End(xlUp).Row
zeile = 1
startz = 3
startq = 3
For i = startq To lzq
done = True
For j = startz To lzz
If Sheets(ziel).Cells(j, 1) = Sheets(quelle).Cells(i, 1) Then
Sheets(ziel).Cells(j, 2) = Sheets(ziel).Cells(j, 2) + Sheets(quelle).Cells(i, 2)
Sheets(ziel).Cells(j, 3) = Sheets(ziel).Cells(j, 3) + Sheets(quelle).Cells(i, 3)
Sheets(ziel).Cells(j, 4) = Sheets(ziel).Cells(j, 4) + Sheets(quelle).Cells(i, 4)
done = False
End If
Next j
If done Then
Sheets(ziel).Cells(lzz + zeile, 1) = Sheets(quelle).Cells(i, 1)
Sheets(ziel).Cells(lzz + zeile, 2) = Sheets(quelle).Cells(i, 2)
Sheets(ziel).Cells(lzz + zeile, 3) = Sheets(quelle).Cells(i, 3)
Sheets(ziel).Cells(lzz + zeile, 4) = Sheets(quelle).Cells(i, 4)
zeile = zeile + 1
End If
Next i
End Sub

gruss
Anzeige
AW: korrektur
08.08.2006 14:43:52
Sebastian
Hallo Ede,
vielen herzlichen Danke für die schnelle und professionelle Antwort!
Funktioniert bestens.
Gruß, Sebastian
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige