Anrage zu Berechnung in Array
#1
Hallo liebe Unterstützer,

ich brüte wieder über einem Problem aber es fehlt mir der entscheidende Impuls.

Ich habe eine Tabelle erstellt (siehe Anhang).
Mit einem Array, dass wie folgt aussieht berechne ich die
monatliche Anzahl der Produkt nach Herstellern.


Code:
Sub Auswerten()

Dim i As Integer
Dim j As Integer

Dim Hersteller1()
Dim Hersteller2()
Dim Hersteller3()
Dim Hersteller4()

laenge = 17  'von Spalte 12 bis 17
ReDim Hersteller1(laenge)
ReDim Hersteller2(laenge)
ReDim Hersteller3(laenge)
ReDim Hersteller4(laenge)

zeilebeginn = 6 'erste Zeile mit Datum
zeileende = 36 'letzte Zeile mit Datum
letztezeile = zeileende + 1
With Sheets(1)
i = 0
For j = 12 To 27
   If .Cells(5, j) = "Hersteller 1" Then
   Hersteller1(i) = Application.Sum(Range(Cells(zeilebeginn, j), Cells(zeileende, j)))
   Cells(letztezeile, j).Value = Hersteller1(i)
   ElseIf .Cells(5, j) = "Hersteller 2" Then
   Hersteller2(i) = Application.Sum(Range(Cells(zeilebeginn, j), Cells(zeileende, j)))
   Cells(letztezeile, j).Value = Hersteller2(i)
   ElseIf .Cells(5, j) = "Hersteller 3" Then
   Hersteller3(i) = Application.Sum(Range(Cells(zeilebeginn, j), Cells(zeileende, j)))
   Cells(letztezeile, j).Value = Hersteller3(i)
   ElseIf .Cells(5, j) = "Hersteller 4" Then
   Hersteller4(i) = Application.Sum(Range(Cells(zeilebeginn, j), Cells(zeileende, j)))
   Cells(letztezeile, j).Value = Hersteller4(i)
   
   End If
i = i + 1
Next j

End With
End Sub

Das funktioniert.

In einem nächsten Schritt möchte ich für jeden Tag, die Summe der Produkte der jeweiligen Hersteller
als Gesamtzahl berechnen (blaue Felder).

Zusätzlich soll noch eine Top-Ten-Liste erstellt werden von den Produkten je Hersteller (rote Felder).

Weiß wer Rat?

Vielen Dank im Voraus.


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 16,11 KB / Downloads: 2)
Top
#2
Hi
 
Ich muss gestehen dieses Mal nicht zu verstehen was du erreichen möchtest.
Warum bildest du mit deinem Code aus #1 (auf etwas skurrile Art) die Summe für die Spalten?
Einfach die Formel  =Summe(L6:L36) in der Zelle( L37 ).
 
Schmücke dein Bsp. Datei noch etwas mit Daten, und dann schauen wir noch mal.

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • tmessers
Top
#3
Ich habe die Beispieldatei um Kommentare ergänzt.

Die Originaldatei hat 1100 Spalten und der Datumsberich ist
ebenfalls länger. Über eine Userform gebe ich einen Datumsbereich für die Auswertung ein.
Ich habe für meinen Zweck bereits eine schleifenbasierte Lösung gefunden, die allerdings
langsam ist und für einen Monatsbereich etwa 90 Sekunden benötigt.
Über die Array-Lösung erhoffe ich mir eine Beschleunigung. Die skurrile Lösung
ist jedenfalls schnell.


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 20,93 KB / Downloads: 4)
Top
#4
Ohne Worte.


Angehängte Dateien
.xlsm   clever-excel-forum_19750.xlsm (Größe: 28,04 KB / Downloads: 10)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • tmessers
Top
#5
@shift-del:

Danke für die Datei. Ich muss da aber erst durchsteigen.
Ich kenne mich mit Pivot-Tabellen nicht aus.
Top
#6
Ich habe mal versucht durchzusteigen.
Wenn ich das richtig sehe, werden in der Tabelle 2 die Daten von Tabelle 1 zur
Pivotierung in Tabelle 3 vorbereitet?
Top
#7
Das Tabellenblatt Tabelle1 ist als nicht existent zu betrachten.

Wozu habe ich die roten Linien wohl eingezeichnet?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

[-] Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:
  • tmessers
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste