Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
648to652
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
648to652
648to652
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lösung um Werte als Farbkreise darzustellen

Lösung um Werte als Farbkreise darzustellen
05.08.2005 16:48:22
Haydar
Hallo Excel-Anwender.
Kannst Du mir vielleicht bei folgendem Excel-Problem helfen?
Ich würde mich sehr freuen, wenn Du es Dir mal anschauen würdest.
Also…
Ich habe eine Quell-Tabelle mit einer Auflistung von Beträgen (in Euro), die
vom Kunden und gekauftem Produkt abhängen.
Diese Quelltabelle soll in eine Zieltabelle (ganz unten im JPEG Bild)
umgewandelt oder überführt werden, die dann die Beträge nicht nur als Zahl
sondern auch als farbige Kreise darstellt. Bei positiven Beträgen ein grüner
Kreis und bei negativen ein roter Kreis. Die Höhe des Wertes bestimmt die Größe
des jeweiligen Kreises.

Die Herausforderung ist wie folgt:
Primär:
Wie kann man einen Automatismus einrichten, der die Tabelle bzw. die Beträge
als farbige Kreise darstellt? Die Tabelle müsste nach Maximum- und Minimum-
Werten durchgesucht werden – Diese Werte bestimmen dann die maximale Größe
eines Kreises – Dementsprechend müssten die kleineren Werte bzw. Kreise größer
oder kleiner und rot oder grün dargestellt werden. Das Tabellenfeld indem sich
der Betrag befindet, müsste an die Größe des Kreises angepasst werden (wie in
der letzten Tabelle im JPEG-Bild).
Hinweis: Mit der Excel-Funktion Blasendiagramm lässt es sich leider nicht
realisieren-habe es schon ausgiebig probiert.
Die Lösung des Primären Problems wäre schon viel wert.
Sekundär:
Die Quelltabelle enthält die Beträge, die Kunden und Produkten zugeordnet sind,
nicht in Form von Pull-Down-Menüs (wie in der mittleren Tabelle im JPEG)
sondern als eine lange Liste von Kunden und Produkten die aufgeführt sind und
denen dementsprechend Beträge zugeordnet sind (ähnlich wie in der ersten
Tabelle im JPEG-Bild) Also wie kann ich Werte aus einer Quelltabelle oder einem
Pulldown einer Quelltabelle in eine Pulldown meiner Zieltabelle überführen?
Vielleicht hast Du ja ne Idee?
Vielen Dank im Voraus schon mal !
Grüße
Heider

Userbild

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispiel um Werte als Farbkreise darzustellen
05.08.2005 18:31:26
Herbert H.
hallo Heider,
das ist ein Beispiel,wie man Kreise in Zellen,mit den
Zahlen der Zellen als Durchmesser,in die Zellen einfügen kann.
Userbild

gruß Herbert
AW: Beispiel um Werte als Farbkreise darzustellen
08.08.2005 14:32:14
haydar
Hi Herbert.
Vielen Dank erstmal für die schnelle Antwort!
Ich wende Makros das erste Mal an und vielleicht liegt es an mir aber leider hat es nicht ganz geklappt.
Folgendes habe ich getan:
Ich habe Makros aktiviert.
Ich habe meine Tabelle mit den Werten geöffnet und dann den VBA Editor über Extras/Makro/Visual Basic-Editor geöffnet sowie das Skript korrekt abgeschrieben.
Ich habe dann das Skript ausgeführt aber musste die Zeile mit der Farbzuweisung entfernen, da ansonsten es zu einer Fehlermeldung kommt.
Die Kreise werden erstellt aber jetzt ohne Farbe bzw. sind sie zu groß. Wenn ich versuche die Zeile zu verbreitern, dann dehnen sich die Kreise mit :o(
Userbild
Ansonsten müsste ich die Zeile vor der Ausführung manuell vergrößern, was auch gehen würde. Aber wie kann man es hin bekommen, dass ich die Felder, in denen ich Kreise haben möchte, einfach auswähle und dann das Skript darauf anwende. Bislang werden nur die Felder genommen, die im Skript erwähnt sind.
Wie könnte man positive und negative Werte unterscheiden und automatisch rot und grün färben?
Über eine Antwort würde ich mich sehr freuen.
Hättest Du auch eine Lösüng für die Umsortierung der Spalten und Zeilen in PullDownMenüs?
Viele Grüße
Heider
Anzeige
AW: Beispiel um Werte als Farbkreise darzustellen
08.08.2005 15:26:39
Herbert H.
hallo haydar,
das sieht doch schön aus, oder... :-)
das war ja nur ein Ansatz,und auch nur für positive Zahlen,
das muß ja alles an deine Tablle,deine Werte angepasst werden...
wenn du das erste Mal Makros anwendest,hast du dir fürs erste etwas viel
vorgenommen...
da mußt du die Mappe hochladen,sonst wird das wahrscheinlich nichts...
wenn es überhaupt etwas wird...
gruß Herbert
AW: Beispiel um Werte als Farbkreise darzustellen
08.08.2005 16:11:04
haydar
Hallo Herbert.
Ich habe die Mappe hochgeladen und sie ist zu finden unter:
https://www.herber.de/bbs/user/25423.xls
Schau mal bitte rein, vielleicht fällt dir etwas Entscheidendes ein?!
Neben der Tabelle zeige ich auch den Ablauf an bzw. einen Test mit einem Blasen-Diagramm (was aber leider nicht funktionierte)
Zurzeit versuche ich im google was zu finden aber leider gestaltet es sich schwierig.
Dabei sind es doch nur lustige kleine Farbkreise... :-)
Viele Grüße
Heider
Anzeige
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 00:42:12
haydar
DU BIST EIN GENIE :o))
Das ist echt klasse! Ich werde nun versuchen den Rest drumrum zu bauen.
Ich danke dir sehr sehr sehr!
Viele Grüße
Beste Wünsche
Heider
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 11:53:14
haydar
Hallo Herbert
Ich habe mir jetzt das Makro angeschaut sowie ein paar Tests mit mehr oder weniger Zellen bzw. Werten gemacht.
Leider habe ich nicht ganz herausgefunden, wie ich den X-Wert zu ändern habe, wenn ich mehr oder weniger Zellen habe. Nach welchen Kriterien bzw. Rechnung müsste ich diesen ändern? (z.B. wenn man eine Matrix mit 10x10=100 Zellen hat, dann muss X so und so sein.)
Wenn ich das rausgefunden habe, möchte ich versuchen den X Wert sowie die Werte für die prozessierten Zeilen und Spalten im Makro automatisch zu ändern. Z.B. durch die Angabe eines Range. Welchen Makro-Befehl könntest du mir empfehlen?
Jetzt hab ich schon so viel gefragt und hoffe diese Nachricht ist auch noch ok : )
Viele Grüße
Heider
Anzeige
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 12:33:35
Herbert H.
hallo Heider ,
der Bereich wir hier festgelegt:
For i = 32 To 39 'Zeile 32 bis 39
For s = 5 To 10 'Spalte 5 bis 10
da werden dann alle Zellen dieses Bereichs durchlaufen...
wenn die Anzahl Zeilen variabel sind,kannst du auch gleich
so schreiben...
For i = 32 To 100
in den leeren Zellen wird einfach nichts gemacht...
falls unterhalb nichts mehr steht in den Zellen...
gruß Herbert
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 13:59:25
haydar
Hallo Herbert.
Ich habe nun die Zeilenanzahl erhöht und es klappt prime.
Ich habe auch die Spaltenanzahl wie unten gezeigt erhöht
(auch im "Löschbereich") aber die Spalten werden leider nicht gelöscht. Wie kann ich im Löschbefehl die Spalten mit angeben. Also in mat bzw im Range?
...
For i = 32 To 100
For s = 5 To 15
...
Sub shp_löschen()
Dim sh As Shape, mat As Range
Set mat = [e32:j100]
...

Und wie ist es mit x=66? Kann dieser Wert so bleiben? Du hattest mir ja reingeschrieben :
"wenn du eine Textbox löscht,mußt du die Variable x anpassen" aber leider habe ich nicht rausgekriegt, wie ich das neue X angeben muss wenn ich etwas lösche. Meintest du mit Textbox Zellen bzw Werte in den Zellen?
Ich habe nämlich gemerkt dass eine Fehlermeldung erschient (vom Compiler), wenn X nicht korrekt ist. Dann erhält man eine Fehlermeldung bei
".Shapes(x).Fill.ForeColor.SchemeColor = 17"
Ich habe die xls angefügt.
https://www.herber.de/bbs/user/25455.xls
Viele Grüße
Heider
Anzeige
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 14:08:33
haydar
Hallo Herbert.
Ich habe nun die Zeilenanzahl erhöht und es klappt prime.
Ich habe auch die Spaltenanzahl wie unten gezeigt erhöht
(auch im "Löschbereich") aber die Spalten werden leider nicht gelöscht. Wie kann ich im Löschbefehl die Spalten mit angeben. Also in mat bzw im Range?
...
For i = 32 To 100
For s = 5 To 15
...
Sub shp_löschen()
Dim sh As Shape, mat As Range
Set mat = [e32:j100]
...

Und wie ist es mit x=66? Kann dieser Wert so bleiben? Du hattest mir ja reingeschrieben :
"wenn du eine Textbox löscht,mußt du die Variable x anpassen" aber leider habe ich nicht rausgekriegt, wie ich das neue X angeben muss wenn ich etwas lösche. Meintest du mit Textbox Zellen bzw Werte in den Zellen?
Ich habe nämlich gemerkt dass eine Fehlermeldung erschient (vom Compiler), wenn X nicht korrekt ist. Dann erhält man eine Fehlermeldung bei
".Shapes(x).Fill.ForeColor.SchemeColor = 17"
Ich habe die xls angefügt.
https://www.herber.de/bbs/user/25455.xls
Viele Grüße
Heider
Anzeige
AW: Beispiel um Werte als Farbkreise darzustellen
09.08.2005 15:51:58
Herbert H.
hallo Heider,
du hast rechts vier Spalten ausgeblendet gehabt,
da hat die Spaltennummer nicht gestimmt...
ich habe das ermitteln der Nummer des ersten Kreises jetzt
automatisiert,müßte funktionieren...
https://www.herber.de/bbs/user/25461.xls

gruß Herbert
AW: Beispiel um Werte als Farbkreise darzustellen
10.08.2005 11:23:04
haydar
Hallo Herbert.
Vielen Dank, dass Du Dir so viel Mühe gibst mit einem Neuling!
Das Skript ist echt klasse.
Ich habe nun versucht es in eine andere Mappe zu integrieren, die ich dann nutzen möchte.
Leider klappt es nicht ganz und einige Kreise haben keine bzw. die falsche Farbe.
Ich habe es online gestellt.

Die Datei https://www.herber.de/bbs/user/25484.xls wurde aus Datenschutzgründen gelöscht


2 Fragen habe ich noch.
1. Ich habe rausgefunden, dass der msoShapeOval Befehl das Format
msoShapeOval X Koordinate, Y Koordinate, X Dimension, Y Dimension hat.
Wieso arbeitet das Skript mit:
ActiveSheet.Shapes.AddShape msoShapeOval, 273, 392, 30, 30
bzw. wie muss man x und y für andere Tabellen ändern?
2. Wozu braucht man die Funktion "Nummer des ersten Kreises ermitteln"
und muss ich diese eventuell auch anpassen?
Viele Grüße
Heider

----------Sub shp_einf()----------------------------------

'???????????????
ActiveSheet.Shapes.AddShape msoShapeOval, 273, 392, 30, 30
For Each shp In ActiveSheet.Shapes
anz = anz + 1

'?????
If shp.Left = 273 Then
x = anz
Exit For
End If
Next
------------Sub anz_obj_ermitteln()
'???????????????
ActiveSheet.Shapes.AddShape msoShapeOval, 273, 392, 30, 30
For Each shp In ActiveSheet.Shapes
anz = anz + 1

'?????
If shp.Left = 273 Then
MsgBox anz
Exit For
End If
Next
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige