PDA

Vollständige Version anzeigen : Umverteilung via Makro/VBA


Nino111
25.02.2008, 11:09
Hallo Leute,
habe folgendes Problem und ich hoffe Ihr könnt mir dabei helfen.
Ich habe jeden Monat eine Excel_liste bei einer Auflistung von Kundennr. und Umsätze. Dann habe ich eine 2. liste bei denen Kosten pro Kunde aufgelistet sind.
Diese muss ich dann einzelnen Kunden bzw. Rechnungspositionen anteilig umverteilen. Das heißt, ein direkt Bezug wäre hier schonmal die Kundennr.!
Wie kann ich dieses Problem am besten lösen, ohne das ich jeden Monat tausende von Zeilen umsortieren muss, Summen bilden muss, umverteilen muss usw.

Kann man da irgendwie ein Makro schreiben, der als
1. die Umsätze einer Kundennr. addiert, dann aus der 2. Liste schaut wie hoch die Verteilungssumme ist und diese dann umverteilt. Geht das?

Die Listen sehen z.b. so aus:

1. Liste
Knd. NR. Umsatz
23000 2.120,25 €
23250 3.252,33 €
23000 3.555,44 €
23250 123,58 €
34000 841,18 €
23250 272,49 €
23000 4.222,22 €
23250 5.159,67 €
23250 6.850,19 €
34000 2.120,25 €
34000 272,49 €
23000 272,49 €
34000 2.120,25 €
23250 2.120,25 €

2 Liste
Knd Kosten
23000 25.000,00 €
23250 32.000,00 €
34000 27.000,00 €


Wie füge übrigens eine Tabelle aus Excel hier rein???

Es wäre echt super, wenn ihr mir helfen könnt.
Gruß
nino

Berti_S
25.02.2008, 11:22
Hallo nino,

aus Liste 1 mache Liste 2 ist m.E. ein klassisches Pivot-Tabellen-Problem.
Da brauchst du keine weiteren Formeln etc.

Wie meinst du das aber mit den Umverteilungen - habe ich nicht verstanden.

Berti

nino111
25.02.2008, 11:35
also ich habe z.b. 1000 Datensätze mit einzelnen Rechnungspositionen.
Diese Liste kann/ darf nicht verändert oder pivotiert werden!
Dann habe ich die 2 Liste mit den Kosten für jeden Kunden die in einem Monat entstanden sind. Diese Kosten z.B. 5000 Euro für Kunde X, müssen dann auf alle Rechungspositionen für Kunde X runtergebrochen werden.
Das heißt angenommen ich habe folgende Rechungspositionen für Kunde X
1. 5000 Euro
2. 3000 Euro
3. 2000 Euro

So und ich 100 Euro an Kosten.....
so kriegt Position 1. 50 Euro ab, Pos. 2 30 und Pos. 3 20 Euro ab. Das heißt die Tabelle muss dann so aussehen:
1. 5000 Euro 50 Euro
2. 3000 Euro 30 Euro
3. 2000 Euro 20 Euro

Da ich habe tausende von Kunden habe, und tausende von rechnungspositionen ist das immer sehr aufwändig umzuverteilen. Deshalb, wie kann ich das am besten per makro umsetzen?! Wie gesagt, Schlüsselposition ist die Kundennr.! Die finde ich in der Liste 1 und 2!

Martinines
25.02.2008, 17:04
hey, sowas in der art bräuchte ich auch!!! Hat keiner ne Idee wie man sowat machen kann?

jinx
25.02.2008, 17:43
<font size="2" face="Century Gothic">Moin, nino111,

wenn für alle Kunden die gleiche Verteilung gelten soll: SVERWEIS und ggf. INDIREKT:

<table><tr style="vertical-align:top; text-align:center; "><tr><td>Tabelle1</td></tr><tr><td><table border=1 cellspacing=0 cellpadding=0 style="font-family:Arial,Arial; font-size:10pt; padding-left:2pt; padding-right:2pt; "> <style type = "text/css"> th {font-weight:normal} </style> <colgroup><col width=30 style="font-weight:bold; "><col width=79.999998 ><col width=79.999998 ></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td>&nbsp;</td><td>A</td><td>B</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >1</td><td style="text-align:right; ">1</td><td style="text-align:right; ">5000</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >2</td><td style="text-align:right; ">2</td><td style="text-align:right; ">3000</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >3</td><td style="text-align:right; ">3</td><td style="text-align:right; ">2000</td></tr></table></td></tr><tr><td>&nbsp;</td></tr><tr><td>Tabelle2</td></tr><tr><td><table border=1 cellspacing=0 cellpadding=0 style="font-family:Arial,Arial; font-size:10pt; padding-left:2pt; padding-right:2pt; "> <style type = "text/css"> th {font-weight:normal} </style> <colgroup><col width=30 style="font-weight:bold; "><col width=79.999998 ><col width=79.999998 ></colgroup><tr style="background-color:#cacaca; text-align:center; font-weight:bold; font-size:8pt; "><td>&nbsp;</td><td>A</td><td>B</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >1</td><td style="text-align:right; ">10000</td><td style="text-align:right; ">100</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >2</td><td style="text-align:right; ">1</td><td style="text-align:right; ">50</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >3</td><td style="text-align:right; ">2</td><td style="text-align:right; ">30</td></tr><tr height=17 ><td style="font-size:8pt; background-color:#cacaca; text-align:center; " >4</td><td style="text-align:right; ">3</td><td style="text-align:right; ">20</td></tr></table><table style="font-family:Arial; font-size:10pt; border-style: groove ;border-color:#00ff00;background-color:#FFFCF9; "><tr><td><b>Formeln der Tabelle</b></td></tr><tr><td><table style="font-family:Arial; font-size:10pt;">A1 : =SUMME(Tabelle1!B:B)<br>B2 : =$B$1*SVERWEIS($A2;Tabelle1!$A:$B;2;WAHR)/$A$1<br>B3 : =$B$1*SVERWEIS($A3;Tabelle1!$A:$B;2;WAHR)/$A$1<br>B4 : =$B$1*SVERWEIS($A4;Tabelle1!$A:$B;2;WAHR)/$A$1<br></table></td></tr></table></td></tr><tr><td>&nbsp;</td></tr></tr></table> <br></font>