Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1296to1300
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
Inhaltsverzeichnis

Schnellere Zuordnung von Daten (2D)

Schnellere Zuordnung von Daten (2D)
01.02.2013 10:55:54
Daten
Ich grüße euch! Ich habe glaube ich ein bisschen ein komplexeres Problem....
ich bin gerade am grübeln, wie ich meinen VBA-Code schneller mach, aktuell dauert das nämlich ca. 5 Minuten, ich erläutere kurz, worum es geht:
Es geht um Daten von Lieferanten, die in eine übersichtliche Tabelle gelegt werden sollen. Dazu generiere ich eine Tabelle, die links die Lieferanten auflistet und oben den Monat & das Jahr:
Userbild
Die Daten für die Matrix hole ich aus einer Tabelle, die wie folgt aussieht:
Userbild
Bedingungen für eine Zuteilung ist neben der Übereinstimmung von Lieferant & Monat/Jahr noch dass die Lieferungen größer als null sein müssen. Zur Info: Die Formatierung von Monat/Jahr ist zuerst natürlich genauso wie in der Source-Datentabelle. Sie wird erst später umformatiert. Man kann also problemlos mit dem Wert der Zelle arbeiten und auf Übereinstimmung prüfen.
Aktuell mache ich das so:
        Protokoll "Übertrage Daten..."
setPercent (0)
For iRow = 2 To lastRow(sAusw, 3)
For iCol = 4 To lastCol(sAusw, 1)
.Cells(iRow, iCol).HorizontalAlignment = xlCenter
For i = 2 To lastRow(sExt, 2)
If sExt.Cells(i, 2).Value = .Cells(iRow, 3).Value And sExt.Cells(i, 3). _
Value = .Cells(1, iCol).Value Then
.Cells(iRow, iCol).Value = sExt.Cells(i, 5).Value
Exit For
End If
Next
Next
'Prozentanzeige
setPercent (iRow - 1) / (lastRow(sAusw, 1) - 1)
Next
Funktioniert natürlich, dauert aber ewig, weil er ja immer wieder von vorne alles durchgeht. Ich dachte nun an eine Formel, die ich vielleicht in jede Zelle setzen kann. Kennt sich da jemand gut genug aus, um mir da was zu sagen?
Vielen Dank bereits im Voraus. Wenn noch Fragen offen sind, beantworte ich die natürlich zeitnah.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schnellere Zuordnung von Daten (2D)
01.02.2013 11:14:50
Daten
Hallo Maximilian,
immer wenn es darum geht, das 'langsame Vba' in Excel zu beschleunigen, dann sollte man sich an 'GetMoreSpeed' erinnern. Die Bremsen sind:
- ständige Bildschirmaktualisierung
- automatische Berechnung der Formeln in Zellen nach jeder Wertänderung
- automatisch startende Ereignisroutinen beim Ändern von Zellwerten durch Vba
siehe dazu hier:
http://www.spotlight.de/life/message/1913092.html
http://www.online-excel.de/fom/fo_read.php?f=1&bzh=21803&h=21803
u.a. Google-Funde unter o.g. Stichwort
Gruß von Luschi
aus klein-Paris
PS: Erst wenn diese Ressourcen nicht viel bringen, dann sollte man sich den Vba-Code näher ansehen!

Anzeige
AW: Schnellere Zuordnung von Daten (2D)
01.02.2013 12:28:28
Daten
Vielen Dank Lurschi, aber das bringt mich nicht viel weiter, weil ich bereits weiß, dass der Code "mist" ist. Daher bin ich auf der Suche nach einer Formel oder einer anderen Lösung.
Interessehalber hab ich die GetMoreSpeed-Funktion mal eingebaut. Die "Beschleunigung" ist nicht merkbar.

AW: Schnellere Zuordnung von Daten (2D)
01.02.2013 12:38:02
Daten
Hallo,
D2: =Summenprodukt((tabelle1!$B$4:$B$36=$c2)*(tabelle1!$C$4:$C$36=D$1)*Tabelle1!$E$4:$E$36)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige