HILFE!! gleiche zeilenzelle inhalte addieren

Bild

Betrifft: HILFE!! gleiche zeilenzelle inhalte addieren
von: HetzelW
Geschrieben am: 04.10.2003 14:21:15

hallo,
ich habe folgendes problem und noch nicht so viel VBA-kenntnisse
um es zufriedenstellend zu loesen.

man stelle sich folgende tabelle1 vor:

a_____20_____01.01.00
a_____25_____01.02.00
a_____15_____01.03.00
.
.
b_____30_____01.01.00
b_____10_____01.02.00
b_____17_____01.03.00
.
.
x______x____________x

nun moechte ich mit einem macro eine tabelle2 erstellen die die
jeweiligen werte von a,b,..,x addiert und den jeweils ersten wert
von a,b,..,x in einer zeile enthaelt.

schema der tabelle2:

a,b,..,x________erster wert_______summe
_______a_________________20__________60
_______b_________________30__________57
.
.
_______x__________________x___________x

ich hoffe ich habe das problem verstaendlich beschrieben
und bedanke mich im vorraus fuer loesungsvorschlaege jeder
art.

mfg hetzel

Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: Ramses
Geschrieben am: 04.10.2003 14:33:40

Hallo

warum verwendest du nicht die Funktion "Daten - Teilergebnisse" ?

Da sieht deine Tabelle zuerst so aus

Tabelle1
 ABC
1ArtikelPreisDatum
2a101.01.2003
3a202.01.2003
4a303.01.2003
5a404.01.2003
6a505.01.2003
7a606.01.2003
8a707.01.2003
9a808.01.2003
10b909.01.2003
11b1010.01.2003
12b1111.01.2003
13b1212.01.2003
14b1313.01.2003
15b1414.01.2003
16b1515.01.2003
17b1616.01.2003
18b1717.01.2003
19b1818.01.2003
20c1919.01.2003
21c2020.01.2003
22c2121.01.2003
23c2222.01.2003
24c2323.01.2003
25c2424.01.2003
26c2525.01.2003
27c2626.01.2003
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

Dann so:
Tabelle1
 ABC
1ArtikelPreisDatum
2Gesamtergebnis351 
3a Summe36 
4a101.01.2003
5a202.01.2003
6a303.01.2003
7a404.01.2003
8a505.01.2003
9a606.01.2003
10a707.01.2003
11a808.01.2003
12b Summe135 
13b909.01.2003
14b1010.01.2003
15b1111.01.2003
16b1212.01.2003
17b1313.01.2003
18b1414.01.2003
19b1515.01.2003
20b1616.01.2003
21b1717.01.2003
22b1818.01.2003
23c Summe180 
24c1919.01.2003
25c2020.01.2003
26c2121.01.2003
27c2222.01.2003
28c2323.01.2003
29c2424.01.2003
30c2525.01.2003
31c2626.01.2003
Formeln der Tabelle
B2 : =TEILERGEBNIS(9;B4:B31)
B3 : =TEILERGEBNIS(9;B4:B11)
B12 : =TEILERGEBNIS(9;B13:B22)
B23 : =TEILERGEBNIS(9;B24:B31)
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  
Nach dem gruppieren dann so
Tabelle1
 ABC
36ArtikelPreisDatum
37Gesamtergebnis351 
38a Summe36 
39b Summe135 
40c Summe180 
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  
Würde das nicht reichen ? :-) Gruss Rainer

Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: HetzelW
Geschrieben am: 04.10.2003 14:54:13

weil ich nie genau weis wieviel daten ich zu a,b,c..x habe und es durchaus sein kann dass es ein x gibt das nur einen satz enhaellt... ich dachte da eher an so eine Do While Not IsEmpty(zeile) Loop der das alles selbststaendig macht bis tabelle1 ende ist. der mir paktisch die werte ja a,b,..x kumuliert in tabelle2 und bei einem neuem a,b,..,x eine neue zeile erstellt.

ich wollte nix manuell machen.. aber danke fuer die schnelle antwort


Bild


Betrifft: Formellösung
von: IngoG
Geschrieben am: 04.10.2003 15:36:56

Hallo,
ich habe mal eine Tabelle erstellt, die für jeden Eintrag die summe und das erste auftretende Datum (tabelle2, spalteC) oder das kleinste(früheste) Datum (tabelle2, spalteD)zurückgibt.

https://www.herber.de/bbs/user/1288.xls



Ich hoffe, das hilft Dir weiter

Gruß Ingo



Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: GraFri
Geschrieben am: 04.10.2003 15:15:16

Hallo


Sub Spezial_Summieren()
    Dim nTab1           As Long
    Dim nTab2           As Long
    Dim ersteZeileTab1  As Integer
    Dim ersteZeileTab2  As Integer
    
    Dim anzTab2         As Long
    Dim TMP             As String
    
    Dim letzteZeile     As Long
    
    Dim B               As Double
    
    
'Erste Zeile (Beginnzeile) mit Buchstabe in Tabelle1
    ersteZeileTab1 = 5
'Erste Zeile mit gesammelten (addierten)Artikel in Tabelle2
    ersteZeileTab2 = 5
'Letzte Zeile mit einem Wert der Spalte A
    letzteZeile = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
'wenn nur eine Zeile, dann Abbruch
    If ersteZeileTab1 = letzteZeile Then Exit Sub
'Schritt 1
'--------------------------------------------------------------------
anzTab2 = 0
'Alle Buchstaben der Tabelle1 nacheinander durchlaufen
For nTab1 = ersteZeileTab1 To letzteZeile
'Überprüfen, ob Buchstabe der Tabelle1 schon in Liste der Tabelle2 vorkommt
    TMP = Sheets(1).Cells(nTab1, 1)
    For nTab2 = ersteZeileTab2 To (ersteZeileTab2 + anzTab2 - 1)
        
        If TMP = Sheets(2).Cells(nTab2, 1) Then   'genaue Übereinstimmuung
            GoTo Nächster_Artikel
        End If
       
    Next nTab2
'Buchstabe in Tabelle2 eintragen
    Sheets(2).Cells(ersteZeileTab2 + anzTab2, 1) = Sheets(1).Cells(nTab1, 1)
'Erster Wert der Spalte B eintragen
    Sheets(2).Cells(ersteZeileTab2 + anzTab2, 2) = Sheets(1).Cells(nTab1, 2)
'Anzahl der gesammelten Buchstaben um 1 erhöhen
    anzTab2 = anzTab2 + 1
Nächster_Artikel:
Next nTab1
    
'Schritt 2
'--------------------------------------------------------------------
For nTab2 = ersteZeileTab2 To (ersteZeileTab2 + anzTab2 - 1)
    For nTab1 = ersteZeileTab1 To letzteZeile
        If Sheets(1).Cells(nTab1, 1) = Sheets(2).Cells(nTab2, 1) Then
            B = B + Sheets(1).Cells(nTab1, 2)
        End If
    Next nTab1
    
    
'Werte in Tabelle2 schreiben
        Sheets(2).Cells(nTab2, 3) = B
Next nTab2
End Sub



mfg, GraFri


Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: HetzelW
Geschrieben am: 04.10.2003 16:14:00

oki danke das waren gute loesungsansaetze ich werde sie jetzt mal versuchen auf mein problem anzupassen, das ja um einiges groesser ist als die abstrahierte beispielform.

danke allen helfenden und erklaere den thread als geschlossen,

bye und schoenes wochenende.


Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: Hans W. Hofmann
Geschrieben am: 04.10.2003 16:27:01

Da sollen aber drei Aufgaben auf einmal erschlagen werden.
Ich würde sowas wie eine Array-Funktion nehmen:

Die Übergabewerte:
-Key der BEreich mit den a's und b's, z.B. A1:A20
-Summe der zu summierende Bereich, z.B. B1:B20
Die Funktion AddKey benötigt 3 Spalten und n Zeilen
wird z.B. im Bereich D1:D20 eingegeben - markieren
=addkey(A1:A20;B1:B20)
Eingabe Shift+Strg+Enter
Ergebnis in D1:D20
{=addkey(A1:A20;B1:B20)}
Der Ausgabebereich könnte latürnich "kürzer" gehalten werden, wenn man
über die Anzahl der verschiedenen Key-Werte näheres wüsste...
Die Funktion hat keine Fehlerprüfung: Die BEreiche Key und Summe sollten also gleich "lang" sein!

Gruß HW

Function AddKey(Key As Range, Summe As Range)
' 03(C)oded by hw - Return Array(n,3) - no Errorchecking
Dim KeySum()
Dim KeyCode As New Collection
Dim i As Long
ReDim KeySum(1 To Summe.Rows.Count, 1 To 3)
 
On Error Resume Next
For i = 1 To Summe.Rows.Count
    KeyCode.Add i, CStr(Key(i))
    If Err.Number = 0 Then
        KeySum(KeyCode.Count, 1) = Key(i)
        KeySum(KeyCode.Count, 2) = Summe(i)
        KeySum(KeyCode.Count, 3) = Summe(i)
    Else
        Err.Clear
        KeySum(KeyCode(Key(i)), 3) = KeySum(KeyCode(Key(i)), 3) + Summe(i)
    End If
Next
 
AddKey = KeySum
 
End Function
       



Bild


Betrifft: AW: HILFE!! gleiche zeilenzelle inhalte addieren
von: Hans W. Hofmann
Geschrieben am: 04.10.2003 17:05:36

Ajee, Fehler die Zeile
KeyCode.Add i, CStr(Key(i))
muss lauten
KeyCode.Add KeyCode.Count + 1, CStr(Key(i))


Gruß HW


 Bild

Beiträge aus den Excel-Beispielen zum Thema " HILFE!! gleiche zeilenzelle inhalte addieren "