Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
316to320
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
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

HILFE!! gleiche zeilenzelle inhalte addieren

HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 14:21:15
HetzelW
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 14:33:40
Ramses
Hallo

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

Da sieht deine Tabelle zuerst so aus

AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 14:54:13
HetzelW
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
Formellösung
04.10.2003 15:36:56
IngoG
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

Anzeige
AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 15:15:16
GraFri
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
Anzeige
AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 16:14:00
HetzelW
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.
AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 16:27:01
Hans W. Hofmann
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
       

Anzeige
AW: HILFE!! gleiche zeilenzelle inhalte addieren
04.10.2003 17:05:36
Hans W. Hofmann
Ajee, Fehler die Zeile
KeyCode.Add i, CStr(Key(i))
muss lauten
KeyCode.Add KeyCode.Count + 1, CStr(Key(i))

Gruß HW

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige