Komplizierte Zuordnung

Bild

Betrifft: Komplizierte Zuordnung
von: MK
Geschrieben am: 19.04.2005 10:02:47
Guten Morgen zusammen!
Meine Tabelle ist ziemlich umfangreich mit 250 Spalten und knapp 500 Zeilen. Das grosse Ziel ist jedem Rohstoff seine Lieferanten zuzuordnen, so dass als Ergebnis am Ende in einer Tabelle steht, dass Rohstoff "a" z.B. von Lieferant 1 und 3 geliefert wird.
Mein(e) Versuch(Idee) mit Hilfe einer "wenn-Funktion" meine bestehende Matrix zu filtern, allerdings befinden sich dann alle Zahlen in einer Zelle aneinandergereiht und es könnte vielleicht die Kapazitäten von Excel sprengen, wenn 250 Argumente in einer Formel stecken.
Hoffe ich habe mich verständlich ausgedrückt. Schaut euch am besten das Muster an. Würde mich über Inspirationen und Ideen freuen.
Viele Grüsse MK

https://www.herber.de/bbs/user/21341.xls">https://www.herber.de/bbs/user/21341.xls

Bild

Betrifft: AW: Komplizierte Zuordnung
von: Galenzo
Geschrieben am: 19.04.2005 10:34:42
Dazu nimmst du am besten eine Pivottabelle.
(Ich habe damit übrigens die glöeiche Aufgabenstellung gelöst)
Viel Erfolg!
Bild

Betrifft: AW: Komplizierte Zuordnung
von: UweN
Geschrieben am: 19.04.2005 10:50:21
Hallo MK,
kannst Du Deine Daten als "normalen" Datensatz darstellen ?
Also in der Struktur:
Spalte A: Rohstoff
Spalte B: Lieferant
für jede mögliche Kombination erstellst Du einen Eintrag in dieser Liste.
Zum Umwandeln Deiner Kreuztabelle in eine Datentabelle wird Dir dieser Link weiterhelfen:
http://www.excelformeln.de/formeln.html?welcher=138
Problem ist allerdings, daß Du damit auf 125.000 Zeilen kommst.
Du mußt diese Prozedur also in mehreren Schritten machen.
Hilft das weiter ?
Viele Grüße
Uwe
Bild

Betrifft: AW: Komplizierte Zuordnung
von: Dani
Geschrieben am: 19.04.2005 10:53:20
Hallo ich hab dir mal was zusammengestrickt:


      
Sub Lieferantensuche()
Dim Rohstoffe As Long
Dim z, r, s, Reihe As Long
Rohstoffe = Cells(Rows.Count, 1).End(xlUp).Row 
'Spalte A länge ermitteln
Reihe = 10
For z = 3 To Rohstoffe
    Reihe = Reihe + 1
    Cells(Reihe, 1).Value = Cells(z, 1).Value & ":"
    
For s = 2 To 10
     
If Cells(z, s).Value = "x" Then
        Cells(Reihe, 2) = Cells(1, s)
        Reihe = Reihe + 1
     
End If
    
Next
Next
End Sub 

     Code eingefügt mit Syntaxhighlighter 3.0

Ich hoffe dieses Makro hilft dir weiter
Gruss Dani
Bild

Betrifft: AW: Komplizierte Zuordnung
von: MK
Geschrieben am: 19.04.2005 11:41:29
Danke für die Hilfe. Werde jetzt mal alles testen
LG MK
Bild

Betrifft: AW:Komplizierte Zuordnung
von: MK
Geschrieben am: 20.04.2005 17:24:30
Hallo Dani!
Bin echt beeinduckt, was du da schnell gestrickt hast. Musste mich erstmal kurz mit VBA beschäftigen, um etwas zu verstehen. Leider ist die Abfrage aber nicht gelaufen. Bin mir nicht sicher, ob du mein Muster anschauen konntest; als ich es probiert habe gings nicht.
Deswegen wäre es super, wenn du jetzt mal unter https://www.herber.de/bbs/user/21437.xls
schauen könntest. Vielleicht weisst du dann, wo es hängt.
Schönen Abend und viele Grüsse
MK
Bild

Betrifft: AW: AW:Komplizierte Zuordnung
von: Dani
Geschrieben am: 21.04.2005 07:24:25
Hallo,
ich habe das Makro leicht angepasst und dokumentiert. Da ich dein File nicht kenne sind manche Sachen wie das zählen der Rohstoffe nicht automatisiert! Probiers mal aus:
https://www.herber.de/bbs/user/21464.xls

Gruss
Dani
Bild

Betrifft: AW: AW:Komplizierte Zuordnung
von: MK
Geschrieben am: 21.04.2005 09:06:07
Guten Morgen Dani!
Gott auf Erden! Vielen Dank! Die Erklärung des Makros verstehe sogar ich. Echt super. Damit bleiben mir wahrscheinlich einige tausend Eingaben erspart. Muss die Sache nur ein wenig anpassen.
Hoffe es ist O.K., wenn ich mich nochmal melde, falls es doch noch ein Problem gibt.
Die gute Tat des Tages hast du auf jeden Fall vollbracht!
Liebe Grüsse
MK
 Bild

Beiträge aus den Excel-Beispielen zum Thema "doppelte Datensätze löschen"