Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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)
Antworten 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
Antworten 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)
Antworten 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
Antworten Top
#5
@shift-del:

Danke für die Datei. Ich muss da aber erst durchsteigen.
Ich kenne mich mit Pivot-Tabellen nicht aus.
Antworten 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?
Antworten 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
Antworten Top


Gehe zu:


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