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

Teilergebnis mit VBA

Teilergebnis mit VBA
28.11.2005 11:58:06
Susanne
Hallo,
da ich VBA-mäßig noch in den Kinderschuhen stecke hier mein Problem:
In Tabelle1 Spalte A:A stehen Artikelnummern, in Spalte B der dazugehörige Wert. Die Artikelnummer in Spalte A kann öfter vorkommen , je nachdem wie oft der Artikel verkauft worden ist. Nun möchte ich Spalte A sortierern und immer solange der Begriff in A gleich bleibt den Wert in Spalte B aufsummieren.
Das Ergebnis mächte ich dann in Tabelle 2 schreiben. In Spalte A steht dann die Artikelnummer und in Feld B der aufgelaufene Wert. Wie löse ich das am Besten mit VBA.
LG
Susanne

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 12:13:02
Hajo_Zi
Hallo Susanne,
das geht ohne VBA,
Tabelle2
 ABCD
1Thomas292Formel Spalte A von
2Bea131http://www.excelformeln.de/formeln.html?welcher=194
3Joanna342Spalte A Formel nur bis Zelle A101
4Richard151Spalte B Summe der Werte
5Ivan352Spalte C Anzahl der Werte je Eintrag Spalte A
6Lukas181 
716.01.03783 
812.01.03492 
922.03.03512 
1014.01.03532 
1117.01.03552 
12 00 
Formeln der Tabelle
A1 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B1 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A1;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C1 : =WENN(A1="";0;ZÄHLENWENN(Tabelle1!A:A;A1))
A2 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B2 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A2;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C2 : =WENN(A2="";0;ZÄHLENWENN(Tabelle1!A:A;A2))
A3 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B3 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A3;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C3 : =WENN(A3="";0;ZÄHLENWENN(Tabelle1!A:A;A3))
A4 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B4 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A4;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C4 : =WENN(A4="";0;ZÄHLENWENN(Tabelle1!A:A;A4))
A5 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B5 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A5;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C5 : =WENN(A5="";0;ZÄHLENWENN(Tabelle1!A:A;A5))
A6 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B6 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A6;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C6 : =WENN(A6="";0;ZÄHLENWENN(Tabelle1!A:A;A6))
A7 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B7 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A7;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C7 : =WENN(A7="";0;ZÄHLENWENN(Tabelle1!A:A;A7))
A8 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B8 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A8;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C8 : =WENN(A8="";0;ZÄHLENWENN(Tabelle1!A:A;A8))
A9 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B9 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A9;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C9 : =WENN(A9="";0;ZÄHLENWENN(Tabelle1!A:A;A9))
A10 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B10 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A10;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C10 : =WENN(A10="";0;ZÄHLENWENN(Tabelle1!A:A;A10))
A11 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B11 : =SUMMEWENN(INDIREKT("Tabelle1!$A$2:$A$" &ANZAHL2(Tabelle1!A:A));A11;INDIREKT("Tabelle1!$B$2:$B" &ANZAHL2(Tabelle1!B:B)))
C11 : =WENN(A11="";0;ZÄHLENWENN(Tabelle1!A:A;A11))
A12 : {=WENN(SUMME(WENN(Tabelle1!A$2:A$101="";0;1/ZÄHLENWENN(Tabelle1!A$2:A$101;Tabelle1!A$2:A$101))) < ZEILE();"";INDIREKT("Tabelle1!A"&KKLEINSTE(WENN(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Tabelle1!A$2;;;ZEILE(Tabelle1!A$2:A$101));Tabelle1!A$2:A$101)=1;ZEILE(Tabelle1!A$2:A$101));ZEILE())))}
B12 : =SUMMEWENN(Tabelle1!$A$2:$A$21;A12;Tabelle1!$B$1:$B$21)
C12 : =WENN(A12="";0;ZÄHLENWENN(Tabelle1!A:A;A12))
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  


Anzeige
AW: Teilergebnis mit VBA
28.11.2005 12:19:20
Susanne
Hallo Hajo,
genau das war der Grund warum ich das alles mit ein paar VBA-Zeilen haben wollte. Könntest du mir vielleicht bitte auch in Richtung VBA helfen?
LG
Susanne
AW: Teilergebnis mit VBA
28.11.2005 12:43:36
Klaus-Dieter
Hallo Susanne,
versuche es mal mit diesem Makro:
Option Explicit
Sub liste_auswerten() ' findet in einer Liste, die nicht sortiert sein muss ' alle vorkommenden Artikel. Diese werden mit dem Einzelpreis ' und der Gesamtanzahl in einer neuen Liste ausgegeben. ' Der Gesamtpreis wird errechnet. ' Geschrieben von Klaus-Dieter Oppermann, Oktober 2005 'Variablen deklarieren Dim iZiel As Integer ' Letzte gefüllte Zelle Dim az As Integer ' Zähler für Arrayfelder Dim i As Integer ' Schleifenzähler (Arrays füllen) Dim t As Integer ' Schleifenzähler (Gesamtpreise und Gesamtanzahl ermitteln) Dim arr() As Variant ' Array für Artikelausgabe Dim arr2() As Variant ' Array für Einzelpreisausgabe iZiel = Range("A65536").End(xlUp).Row ' Letzte gefüllte Zelle ermitteln (in Spalte A) ' Arrays dimensionieren ReDim arr(iZiel, 0) ' Artikel ReDim arr2(iZiel, 0) ' Einzelpreise ' Arrays mit Werten füllen For i = 2 To UBound(arr) ' laufe von Zeile 2 bis Tabellenende If Application.WorksheetFunction.CountIf(Range(Cells(i, 1), _ Cells(1, 1)), Cells(i, 1).Value) = 1 Then ' wenn Artikel das erste Mal vorkommt, dann ... arr(az, 0) = Cells(i, 1).Value ' ... Name in Array einlesen arr2(az, 0) = Cells(i, 2).Value2 ' ... Einzelpreis in Array einlesen az = az + 1 ' ... Zähler für Arrayfeld plus 1 End If ' Ende der Auswertung Next i ' Schleifenzähler plus 1 ' Inhalte ausgeben Range("E2", "E" & UBound(arr)) = arr ' Artikelnamen in Ausgabebereich schreiben With Range("F2", "G" & UBound(arr)) ' Ausgabbereich für Beträge .NumberFormat = "#,##0.00 $" ' Währungsformat festlegen .Value = arr2 ' Beträge eintragen End With ' Ende des Eintrags For t = 2 To az + 1 ' laufe von Zeile 2 bis Listenende Cells(t, 8) = Application.WorksheetFunction.SumIf(Range _ (Cells(232, 1), Cells(2, 1)), Cells(t, 5), Range("C2:C232")) ' Gesamtmenge berechnen Cells(t, 7) = Cells(t, 8) * Cells(t, 6) ' Gesamtpreis berechnen Next t ' Schleifenzähler plus 1 Columns("E:H").EntireColumn.AutoFit ' Spalten auf optimale Breite End Sub
So sieht die Tabelle aus, links die Ausgangsliste, rechts der Ergebnisbereich:
 
 ABCDEFGH
1ArtikelnameEinzelpreisStück ArtikelnameEinzelpreisGesamtpreisStück gesamt
2Nord-Ost Matjeshering25,89 €12 Alice Mutton39,00 €1.092,00 €28
3Inlagd Sill19,00 €20 Aniseed Syrup10,00 €260,00 €26
4Louisiana Hot Spiced Okra17,00 €6 Boston Crab Meat18,40 €846,40 €46
5Gustaf's Knäckebröd21,00 €2 Camembert Pierrot34,00 €1.632,00 €48
6Chef Anton's Gumbo Mix21,35 €9 Carnarvon Tigers62,50 €3.125,00 €50
7Wimmers gute Semmelknödel33,25 €16 Chai18,00 €756,00 €42
8Outback Lager15,00 €5 Chang19,00 €475,00 €25
9Côte de Blaye263,50 €7 Chartreuse verte18,00 €720,00 €40
10Tourtière7,45 €11 Chef Anton's Cajun Seasoning22,00 €594,00 €27
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Es werden auch Stückzahlen mit berechnet, wenn du das nicht brauchst, bitte noch mal melden, dann nehme ich das raus.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 12:54:19
Susanne
Hallo Klaus-Dieter,
erst mal vielen Dank. Funktioniert fast perfekt. Einziges Problem: er nimmt die ersten Sätze die gleich sind nicht. Meine Artikelnummer in den ersten 5 Zeilen ist gleich. Diese wird aber nicht ausgegeben. Es wird erst der Wert für die nächste Nummer ausgegeben. Könntest du bitte noch mal nachsehen an was das liegen könnte?
Danke schön
LG
Susanne
AW: Teilergebnis mit VBA
28.11.2005 13:17:56
Klaus-Dieter
Hallo Susanne,
das dürfte nicht sein. Es werden alle Inhalte ab Zeile 2 berücksichtigt. Du kannst sonst mal deine Tabelle hier hochladen, dann sehe ich mir das an.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 15:41:52
Susanne
Hallo Klaus-Dieter,
sorry, mußte leider unterbrechen. Irgendwie lässt sich die Datei nicht hochladen. Befürchte dass die Sicherheitseinstellungen unseres Servers das nicht zulassen oder ich stelle mich einfach zu dämlich an.
Hier ein Ausschnitt der Datei:
Sp.A SP.B
Artnr Betrag
156380 818,45
156380 112,00
156380 1140,00
156380 -4000,00
156380 4000,00
156420 73,18
156420 238,00
156420 14,80
156420 23,78
156480 189,00
156480 521,25
156481 3784,70
156500 2446,95
156500 9805,02
156501 730,30
156501 4000,00
156620 16000,00
Kannst du damit was anfangen?
Gruß
Susanne
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 16:02:18
Susanne
Hallo KLaus Dieter!
unten siehst du das Ergebnis des Codes den du mir geschickt hast. Du hattest recht. Er nimmt alle (weiss nicht warum es vorher nicht geklappt hat...habe ich wahrscheinlich irgendeine falsche Zuordnung gemacht). Allerdings rechnet er nicht richtig , es müßten folgende Gesamtwerte heraus kommen, Wo muss ich noch was anpassen. Vielen Dank über deine guten Kommentierungen. Da kann man auch als Frischling etwas mit anfangen.
156380 Ergebnis 2070,45
156420 Ergebnis 349,76
156480 Ergebnis 710,25
156481 Ergebnis 3784,70
156500 Ergebnis 12251,97
Artikelnr Betrag
156380 818,45 156380 818,45 EUR 0,00 EUR
156380 112,00 156420 73,18 EUR 0,00 EUR
156380 1140,00 156480 189,00 EUR 0,00 EUR
156380 -4000,00 156481 3.784,70 EUR 0,00 EUR
156380 4000,00 156500 2.446,95 EUR 0,00 EUR
156420 73,18 156501 730,30 EUR 0,00 EUR
156420 238,00 156620 16.000,00 EUR 0,00 EUR
156420 14,80 301001 5.346,00 EUR 0,00 EUR
156420 23,78 301002 2.376,00 EUR 0,00 EUR
156480 189,00 301003 594,00 EUR 0,00 EUR
156480 521,25 301004 297,00 EUR 0,00 EUR
156481 3784,70 301005 198,00 EUR 0,00 EUR
156500 2446,95 303340 839,83 EUR 0,00 EUR
156500 9805,02 303726 82,96 EUR 0,00 EUR
156501 730,30 303762 346,50 EUR 0,00 EUR
156501 4000,00 303781 100,28 EUR 0,00 EUR
LG
Susanne
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 17:10:47
Klaus-Dieter
Hallo Susanne,
die untere Tabelle ist deine Ausgangstabelle? Das MAkro rechnet nur die Beträge aus Spalte B und Spalte C als einzelne Beträge zusammen.
Wenn deine Tabelle so aufgebaut ist, muß das noch angepasst werden:
 
 ABCDE
1156380818,45156380818,45 EUR0,00 EUR
215638011215642073,18 EUR0,00 EUR
31563801140156480189,00 EUR0,00 EUR
4156380-40001564813784,70 EUR0,00 EUR
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Teilergebnis mit VBA
28.11.2005 21:26:18
Susanne
Hallo Klaus-Dieter,
richtig. Wenn ich deinen Code richtig verstanden habe, dann nimmst du den ersten Wert als Einzelpreis und zählst wieviel Sätze vorhanden sind und nimmst dann Einzelpreis * Anzahl = Gesamt. Bei mir liegt der Fall etwas anders. Ich habe Kosten je Artikelnummer, die können differieren. Im Prinzip muss ich wissen ,wieviel Kosten pro Artikelnummer aufgelaufen sind. Das bedeutet ,ich muss das Feld Wert (Spalte B) solange aufaddieren bis die Artikelnummer wechselt. Im Prinzip ein Verdichtungsjob. Leider habe ich noch nicht genügend VBA-Kenntnisse um das Problem zu lösen.
LG
Susanne
Anzeige
AW: Teilergebnis mit VBA
29.11.2005 00:12:08
Klaus-Dieter
Hallo Susanne,
die laufende Summe lässt sich über eine entsprechende Funktion berechnen. Was mich nur irritiert ist der Aufbau der Liste. In Spalte A befinden sich Artikelnummern, in Spalte B Beträge. Dann in Spalte C wieder Artikelnummern und in Spalte D Beträge. In Spalte E weitere Beträge, da bekomme ich keinen Henkel dran. Kannst du das noch mal genau beschreiben? Oder war das das Ergebnis von meinem Makro?
Viele Grüße Klaus-Dieter

Online-Excel
AW: Teilergebnis mit VBA
29.11.2005 00:23:28
Klaus-Dieter
Hallo Susanne,
ich denke, jetzt habe ich es verstanden. Das geänderte Makro:
Option Explicit
Sub liste_auswerten2() ' findet in einer Liste, die nicht sortiert sein muss ' alle vorkommenden Artikel. Diese werden mit dem Einzelpreis ' und der Gesamtanzahl in einer neuen Liste ausgegeben. ' Der Gesamtpreis wird errechnet. ' Geschrieben von Klaus-Dieter Oppermann, Oktober 2005 'Variablen deklarieren Dim iZiel As Integer ' Letzte gefüllte Zelle Dim az As Integer ' Zähler für Arrayfelder Dim i As Integer ' Schleifenzähler (Arrays füllen) Dim t As Integer ' Schleifenzähler (Gesamtpreise und Gesamtanzahl ermitteln) Dim arr() As Variant ' Array für Artikelausgabe Dim arr2() As Variant ' Array für Einzelpreisausgabe iZiel = Range("A65536").End(xlUp).Row ' Letzte gefüllte Zelle ermitteln (in Spalte A) ' Arrays dimensionieren ReDim arr(iZiel, 0) ' Artikel ReDim arr2(iZiel, 0) ' Einzelpreise ' Arrays mit Werten füllen For i = 2 To UBound(arr) ' laufe von Zeile 2 bis Tabellenende If Application.WorksheetFunction.CountIf(Range(Cells(i, 1), _ Cells(1, 1)), Cells(i, 1).Value) = 1 Then ' wenn Artikel das erste Mal vorkommt, dann ... arr(az, 0) = Cells(i, 1).Value ' ... Name in Array einlesen az = az + 1 ' ... Zähler für Arrayfeld plus 1 End If ' Ende der Auswertung Next i ' Schleifenzähler plus 1 ' Inhalte ausgeben Range("E2", "E" & UBound(arr)) = arr ' Artikelnamen in Ausgabebereich schreiben With Range("F2", "F" & UBound(arr)) ' Ausgabbereich für Beträge .NumberFormat = "#,##0.00 $" ' Währungsformat festlegen End With ' Ende des Eintrags For t = 2 To az + 1 ' laufe von Zeile 2 bis Listenende Cells(t, 6) = Application.WorksheetFunction.SumIf(Range(Cells(iZiel _ , 1), Cells(2, 1)), Cells(t, 5), Range("B2", "B" & iZiel)) ' Gesamtmenge berechnen Next t ' Schleifenzähler plus 1 Columns("E:H").EntireColumn.AutoFit ' Spalten auf optimale Breite End Sub
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Teilergebnis mit VBA
29.11.2005 08:24:42
Susanne
SUPER!!! Vielen Dank Klaus-Dieter. Damit ist mein Problem gelöst!
Liebe Grüße
Susanne

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige