Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Venn-Diagramm Sortierung

Forumthread: Venn-Diagramm Sortierung

Venn-Diagramm Sortierung
25.08.2014 16:24:57
Patrick
Hallo zusammen,
ich hoffe mir kann hier jemand helfen.
Mein Plan ist es, ein Venn-Diagramm aus zwei Listen zu erstellen. Dazu sind folgende Aufgaben zu erfüllen, die Umsetzung in das Diagramm an sich kriege ich glaube ich dann hin:
-Vergleichen der beiden Listen und die gleichen Listenzellen in eine Spalte (Schnittmenge der zukünftigen Vennkreise) kopieren
-kopieren und in eine andere Spalte einfügen der Zellen aus Liste 1, die nicht in Liste 2 enthalten sind.
-kopieren und in eine andere Spalte einfügen der Zellen aus Liste 2, die nicht in Liste 1 enthalten sind.
Ich habe mir in den unendlichen Weiten des Internets bereits einen Code besorgt, der auch zu funktionieren scheint (siehe Anhang), er besteht aus drei Teilprozeduren die über den "Berechnen Button" ausgeführt werden.
https://www.herber.de/bbs/user/92280.xlsm
Jetzt habe ich folgendes Problem, sind beide Listen identisch (genau identisch), dann kommt es zu einem Laufzeitfehler (13).
Desweiteren kommt es auch dazu, wenn eine der beiden Listen leer ist.
Hier liegt anscheinend ein logischer Fehler von mir vor, aber dazu reichen meine Kenntnisse leider nicht aus.
Ich hoffe ihr könnt mir bei dem Problem helfen!?
Gruß Patrick

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
If MyDic.Count > 0 then
25.08.2014 17:37:30
NoNet
Hallo Patrick,
die Überschneidungen werden in einem sog. "Dictionary-Objekt" abgelegt und dann per Transpose (=transponierte Matrix) in die Zellen geschrieben. Wenn das Dictionary-Objekt "leer" ist (also keine Elemente beinhaltet, da keine Überschneidung oder NUR Überschneidungen), funktioniert das Transponieren nicht, was zur Fehlermeldung führt.
Lösung : Prüfe im Code jeweils, ob das Objekt Elemente enthält (also die Anzahl größer 0 ist) :
Makro "Test1" :
        If MyDic.Count > 0 Then
.Cells(6, 5).Resize(MyDic.Count) = WorksheetFunction.Transpose(MyDic.keys)
End If
Makro "Test2" :
        If MyDic2.Count > 0 Then
.Cells(6, 7).Resize(MyDic2.Count) = WorksheetFunction.Transpose(MyDic2.keys)
End If
Makro "Test3" :
        If MyDic3.Count > 0 Then
.Cells(6, 6).Resize(MyDic3.Count) = WorksheetFunction.Transpose(MyDic3.keys)
End If
Gruß, NoNet

Anzeige
AW: If MyDic.Count > 0 then
25.08.2014 18:15:10
Patrick
Hallo NoNet,
klasse! Es hat funktioniert. Vielen Dank.
Gruß Patrick
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18