Microsoft Excel

Herbers Excel/VBA-Archiv

Liste mit mehreren Bedingungen erstellen unter VBA

Betrifft: Liste mit mehreren Bedingungen erstellen unter VBA von: Struwelpeter
Geschrieben am: 04.10.2014 09:06:41

Hallo zusammen

Seit einigen Tagen versuche ich nun die Lösung auf mein Problem zu finden und muss feststellen, an die Grenzen meiner Möglichkeiten zu stoßen. Trotz schöner Ansatzschnipsel aus dem globalen Netz hab ichs bislang leider nicht hinbekommen. Da ich nun auch im Schlaf davon verfolgt werden, erhoffe ich mir hier die Antwort.

Anbei ist ein Workbook, welches in abgespeckter Variante in Tabelle "Auswertung" in Spalte 1 - 4 die Quelldaten anzeigt und in nachfolgenden Spalten bereits das gewünschte Ergebnis (zur besseren Verständnis). Es muss nicht ein Makro für alle 3 Ergebnisbereiche sein (auch jeweils ein eigenständiges Makro möglich), aber für alle weitern Auswertungen sind eben diese drei aufgrund der Zuordnungen zu den Bedingungen derzeit mein riesen Problem. Nun hat die Originaldatei über 10.000 Datensätze, wonach ich nach einer möglichst "schnellen" VBA-Lösung suche. Weiterhin wird man erkennen, dass die Spalte "Artikel" sich leider wirr zusammensetzt. Da auch bei den "Artikel"n mit mehr als 100 Varianten einiges zusammenkommt, wäre es mir recht, wenn das Makro seine Informationen für "Artikel" auch nur aus der Spalte "Artikel" bezieht (also kein Verweis auf eine Artikelliste). Grund ist, dieser Bereich ist leider noch nicht standardisiert und enthält auch "Schreibfehler" wie "Gabl" (was dann dazu führen würde, dass dieser Datensatz wegfällt, wenn nur nach "Gabel" verglichen wird).

Hier die Musterdatei:
https://www.herber.de/bbs/user/92958.xlsx

Na dann hoff ich, dass mein Problem erkannt, verstanden und gelöst wird.

Ich danke schonmal im voraus recht herzlich.

  

Betrifft: AW: Liste mit mehreren Bedingungen erstellen unter VBA von: Christian
Geschrieben am: 04.10.2014 13:01:10

Hallo ??? (hast du auch einen Namen?)
das Problem müssen nicht wir lösen, sondern du. Denn das Problem ist deine Datenstruktur.
Stichwort: "Datenstruktur", "Normalisierung". Bei "Excel-Gut" sollte dir das Thema ebenso gut bekannt sein ...

Mein Vorschlag:
Tabelle "Artikel": Struktur: "Artikelnummmer", "Artikelname".
Einträge wie: "Kaffeetasse 963145", "56933 Untertasse" machen keine Sinn.

Tabelle "Gruppe": Struktur: "Gruppen_ID", "Gruppen-Name".
Bsp: "Besteck", "Geschirr", ...
BTW: "Kaffeesatz" ist hier wenig geeignet; aus dem Selben versuchen Esotheriker dir die Zukunft vorherzusagen.

Tabelle "Verwendungszweck": Struktur: "Zweck_ID", "Verwendungszweck".
Bsp: "Hochzeit", "Geburtstag", ...
weitere Einträge wie: "Zur Hochzeit in Musterhausen" kannst du dann ggf. in einer Kommentarspalte hinterlegen.

Entsprechend aufgebaut brauchst du dann in einer Tabelle zB: "Bestellung" nur noch per PullDown-Menüs auswählen:
Kunde X, Artikel Y, Verwendungszweck Z. Die Gruppe ergibt sich dabei automatisch.
Damit ist jeder Eintrag eindeutig und deine gewünschten Auswertungen lassen sich dann relativ einfach mit Formeln oder per VBA erzeugen.

Gruß
Christian


  

Betrifft: AW: Liste mit mehreren Bedingungen erstellen unter VBA von: Struwelpeter
Geschrieben am: 04.10.2014 13:20:31

Hi Christian,

danke für die Antwort.

Die Datei hier ist nur ein MUSTER! Die Originaldaten handeln von andren Dingen. Habe es nur der Einfachheit auf etwas handelsübliches beschränkt. Für die Datenstruktur kann ich nichts, da sie aus einem anderen System importiert wird! Genau das ist ja auch das Problem zu dem ich die Lösung suche!! Letztendlich handelt es sich ja bei meiner Anfrage um die Schaffung der Datenstruktur um eben diese Auswertungen überhaupt zu ermöglichen.

Schöne Grüße
Struwelpeter


  

Betrifft: Datenstruktur von: Christian
Geschrieben am: 04.10.2014 14:42:32

Hallo ??? (hast du auch einen Namen?)
Struwwelpeter schreibt man übrigens mit zwei "w" - ja, und Esoterik ohne "h" :).

Wenn die Quelldaten nicht struktiert sind, musst du wohl den Leuten, die die Daten erzeugt haben, klarmachen, dass aufgrund mangelnder Datenstruktur eine Auswertung (per Formel oder VBA) nicht oder nur mit ensprechend hoher Fehlerquote möglich ist.

Für eine Auswertung auf Basis der vorhandenen Daten musst du erst mal analysieren, in welchen Spalten welche Kombinatioen oder Teilstrings vorkommen können und diese bei deinen Formeln oder VBA-Code berücksichtigen.

Formeln zur Erkennung von Teilstrings oder zu Trennung von Ziffern und Buchstaben kennst du ja bestimmt, ansonsten schau mal bei www.excelformeln.de.

Gruß
Christian


  

Betrifft: AW: Datenstruktur von: Struwelpeter
Geschrieben am: 04.10.2014 15:18:11

Guten Tag Christian,

tut mir leid, dass man mich Struwelpeter mit nur einem "w" schreibt :)

Hab mein Problem nun doch selber lösen können. Manchmal macht man es sich komplizierter als es ist... "KndNr sortieren" ins Makro zu Beginn einpflegen und schon läuft das Skript reibungslos.

Auch wenn die Hilfe mir keine neuen Erkenntnisse gebracht hat, danke ich dennoch - speziell für die schnellen Antworten.

Sonnige Grüße
Struwelpeter


  

Betrifft: AW: Datenstruktur von: Christian
Geschrieben am: 04.10.2014 16:18:01

ist ja schön, dass du plötzlich von einem vorhandenen Makro sprichst.
Hättest du das vorher gesagt oder mit hoch geladen... Wie auch immer, willkommen auf meiner Blacklist.

Grüße
Christian


 

Beiträge aus den Excel-Beispielen zum Thema "Liste mit mehreren Bedingungen erstellen unter VBA"