Herbers Excel-Forum - das Archiv

Makro Zoom, Diagramm in Diagramm-Blatt zoomen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro Zoom, Diagramm in Diagramm-Blatt zoomen
von: Peter aus Berlin

Geschrieben am: 12.12.2006 20:36:01
Hallo alle zusammen,
um für mein Problem hier eine Lösung zu finden reduziere ich meine Datei auf das Wesentliche:
Auf einem Diagramm-Blatt habe ich ein x,y-Punktdiagramm und daneben noch andere Objekte wie 2 Kreisdiagramme und 2 Kombinationsfelder.
Mit dem Kombinationsfeld "Dropdown 5" genannt "Zoom" starte ich das Makro "Zoom".
Sub Zoom()
' Anhand der Auswahl im DropDown-Feld werden unterschiedliche Zooms angezeigt
ActiveChart.SizeWithWindow = False
Select Case Charts("Pflanzungs-Karte").Shapes("Drop Down 5").ControlFormat.Value
Case 1
ActiveWindow.Zoom = 100
ActiveChart.SizeWithWindow = True
Case 2
ActiveWindow.Zoom = 150
Case 3
ActiveWindow.Zoom = 200
Case 4
ActiveWindow.Zoom = 250
Case 5
ActiveWindow.Zoom = 300
Case 6
ActiveWindow.Zoom = 350
End Select
End Sub

So kann ich mit dem Kombinationsfeld "Dropdown 5" genannt "Zoom" die Bildschirmansicht vergrößern und verkleinern.
Das bringt mir leider nicht so viel, da ich den ganzen Bildschirm vergrößere.
Wenn ich z.B. in Zoom 300% bin,muß ich eine ganze Weile scrollen um z.B. zu einer Schaltfläche zu gelangen (man sieht halt nicht alle anderen für mich relevanten Objekte.
Ich möchte gerne die Möglichkeit haben nur das x,y-Punktdagramm zu verkleinern und zu vergrößern.
Das Hauptproblem ist vermutlich, das ich in der Vergrößerung nur einen bestimmten Bereich anzeige.
Wie man das mit dem zu vergrößernden Bereich in Excel lösen kann, ob über einen neuen Scroll-Balken oder ob man einen bestimmten Bereich im Diagramm markiert weiß ich leider nicht. (eine Idee für einen Code habe ich schon gar nicht)
meine Beispiel-Datei: https://www.herber.de/bbs/user/38923.xls
Hat jemand eine Idee?
Geht so etwas überhaupt?
Grüße aus Berlin
Bild

Betrifft: Probleme beim öffnen der Beispieldatei
von: Peter aus Berlin

Geschrieben am: 12.12.2006 20:43:30
Hallo noch mal,
ich habe festgestellt das der link zu meiner Beispiel-Datei nicht immer funktioniert.
Mit rechte Maustaste, Ziel seichern unter, auf dem eigenen Rechner speichern und von dort aus öffnen funktionierts!
Beispiel-Datei: https://www.herber.de/bbs/user/38924.xls
Grüße aus Berlin
Bild

Betrifft: AW: Diagrammzeichenfl. über Graphen verschieben
von: ingUR

Geschrieben am: 13.12.2006 13:25:20
Hallo, Peter,
Deine Aufgabe, wenn ich sie recht verstehe, da es wohl nicht um die "Schrift-/Punktvergrößerung" geht, kannst Du wohl über die Achsenformatierung, Bereich Skalierung, lösen.
Die Daten sind dabei alle im Diagramm geladen, sofern von der Anzahlbegrenzung der darstellbaren Datenpunkte nicht ein abschnittsweises Laden vorzusehen ist. Die Skalierung wird auf die Grenzen des Werteausschnitt (Spannweiten) gesetzt.
Beispiel:


Dabei kannst Du z.B. als Reaktion auf die Tasten Plus und Minus, bei konstanter Zeichenflächengröße, die Max-/Min-Werte der Skalierung um einen Faktor vergrößert (2,3,4) oder verkleinern (1/2, 1/3, 1/4); Fixpunkt könnte dabei das Zentrum oder ein beliebiger anderer Datenpunkt des Diagramms sein.
Für diese Lösung wird eine weitere Funktionalität erforderlich, die, nun z.B. als Reaktion auf die Pfeil-/Bild´-Auf/Ab-Tasten, den Bezugspunkt verschiebt, so dass der Eindruck des sich bewegenden Fensterauschnitts über ein Graphen ensteht. Diese Funktionalität könnte man auch über V-/H-Schiebebalken steuern.
Wenn diese Gedanken Deinen Vorstellungen zur Lösung entsprechen, dann könnte man über den Makrorekoreder die enstprechenden Befehle aufzeichnen und diese dann so bearbeiten, dass sie allgemein einsetzbar sind.
Selber habe ich diese Art der Darstellungsmanipulation für ein Kursdiagramm einmal ausgearbeite; das ich allerdings nunmehr auf Anhieb nicht finde. Ich würde ggf. danach suchen; hier sei es nur deshalb erwähnt, um zu erklären, dass es so funktioeren kann und die weitere Erläuterung nur etwas bringt, wenn damit ein akzeptabler Lösungsweg skizziert wurde.
Gruß,
Uwe
Bild

Betrifft: AW: Diagrammzeichenfl. über Graphen verschieben
von: Peter aus Berlin

Geschrieben am: 13.12.2006 18:42:32
Hallo Uwe,
dein Lösungsansatz klingt sehr vielversprechend.
Ich habe allerdings meinen Datenbereich für dasDiagramm dynamisieren müssen, da ich, je nach Quelldatei, unterschiedlich viele Punkte anzeigen lassen möchte. (in meiner Beispiel-Datei ist allerdings nichts dynamisiert)
Wenn du nicht weisst was ich meine, unter diesem link wirds erklärt:
http://www.excelformeln.de/tips.html?welcher=9
Dein Prinzip habe ich schon verstanden, wie aber der Code aussehen sollte und wo man was einbauen muss ist mir noch nicht klar.
Suche doch bitte nochmal nach deinem Beispiel mit dem Kursdiagramm oder wenn du die Zeit findest, baue doch mal bitte den Code in meine Beispieldatei ein!
Grüße aus Berlin
Peter
Bild

Betrifft: AW: Diagrammzeichenfl. über Graphen verschieben
von: ingUR

Geschrieben am: 13.12.2006 22:20:40
Hallo, Peter,
vorab ein erster, einfacher Eindruck zu den Möglichkeiten:
https://www.herber.de/bbs/user/38970.xls
Dein Steuerelement "Zoom" habe ich etwas erweitert und auf eine andere Prozedur umgeleitet, auf eine Routine, die den Gedanken des Zoom-Faktors umsetzt (Das Verschieben wäre eine andere Routine).
Ferner habe ich zwei Formular-Steuerelemente Schieberegler eingebaut, die allerdings noch mit keinem Makro verbunden sind, so dass der Ablauf der derzeitigen Bildschirmaktualisierung nicht für den praktischen Gebrauch geeignet ist.
Die Kopplung mit einem Makro wird eine bessere Behandlung der Parameter der Graphendarstellung ermöglichen (Skalierungsbereiche; Erfahrungen fehlen mir, ob die Einbindung der Formular-Steuerelemente in ein Diagrammblatt unvermeidbare negative Auswirkungen bei der Aktualisierung mit sich bringen.)
Ich habe eine andere Beispielfunktion y=f(x) für die Darstellung gewählt, was jedoch auf das Grunfkonzept keine Auswirkung hat.
Zur Frage der dynamischen Tabellengröße in Bezig auf die Fix-Werte der Formular-Schieberegler, kann vielleicht das Archiv auskunft geben, denn damit habe ich nich nicht gearbeitet.
Nun hoffe ich, dass mit dieser Ideenskizze, Dir ein Einstieg in eine zufriedenstellende Lösungfindung gelingt. Die Zoom-ComboBox könnte dabei das Vorbild sein.
.
Gruß,
Uwe
Bild

Betrifft: Datei defekt
von: Peter aus Berlin

Geschrieben am: 14.12.2006 12:54:25
Hallo Uwe,
der Datei-Link funktioniert leider nicht.
Wenn ich die Datei mit Ziel speichern unter auf meinem Rechner ablege und dann versuche sie zu öffnen, hat Excel ein Problem festgestellt und stürzt ab.
Kannst du mir die Datei nochmal reinsetzen oder direkt an meine Email-Adresse: p.nobis@lignumag.de schicken?
Danke
Grüße aus Berlin
Peter
Bild

Betrifft: konnte Code retten aber komme nicht weiter
von: Peter aus Berlin

Geschrieben am: 14.12.2006 19:10:35
Hallo Uwe,
mit Hilfe von OpenOffice konnte ich mir die Datei nur unvollständig (ohne Steuerelemente usw.) ansehen.
Glücklicherweise konnte ich den ganzen Code retten.
Ich habe den Code in meine Beispiel-Datei (die du schon kennst) eingebaut und der Zoom funktioniert auch ganz gut. Was nicht so schön ist, ist das sich die Zeichnungsfläche je nach Zoom-Größe ein bischen verändert.
Wie der Code für die Formular-Steuerelemente Schieberegler aussehen soll weiss ich leider nicht. Auch nicht für meine Beispieldatei in der die Wertebereiche nicht dynamisiert sind.
Meinst du mit Schieberegler eigentlich Drehfeld oder Bildlaufleiste.
Ein Steuerelement "Schieberegler" auf der Formular-Leiste finde ich nicht.
Übrigens dürfte es kein Problem sein Steuerelemente von der Formularleiste auf einem Diagrammblatt zu benutzen. (nur diese funktionieren dort!)
Ich würde dich ganz lieb darum bitten, den Code mit den Schiebereglern in meine Beispieldatei einzubauen.
Beispieldatei: https://www.herber.de/bbs/user/39007.xls
Danke vielmal im voraus
Grüße aus Berlin
Peter
Bild

Betrifft: AW: konnte Code retten aber komme nicht weiter
von: ingUR

Geschrieben am: 14.12.2006 21:57:05
Hallo, Peter,
obwohl ich beim Öffnen der Datei in der Forumsumgebung ebenfalls den Dateifehler erhielt, wurde die Tabelle angezeigt und die Schieberegler waren funktionsfähig.
Die Schieberegler hatten in der Datei noch keinen Programmcode, sonder funktionieren über die Verknüpfungszelle, in der der Positionswert des Reglers angegeben wird (siehe Datenblatt "Datenquelle, Zellen E2 und E2). Bei den Namen-Definitionen, werden die Zellen benannt, wie auch die dynamischen Datenbereiche (Verschieben.Bereich), die diese Namen verwenden. Die Datenreihe enthält die Bereiche, der durch die Namen beschriben wird.
In der neusten Fassung (ZoomDia.xls) wird nun in einem verknüpften Makro direkt die Schieber-Positionwerte ausgelesen und verwendet.
Bezüglich des Bildflackerns während des Verschiebens ist zu untersuchen, wie es damit zusammenhängt, dass die Operationen auf einem Diagrammblatt ausgeführt werden, denn dieser Effekt taucht bei anderen Anwendungen, bei denen Diagrammfläche und Schiebeleiste getrennt voneinander auf einem Tabellenblatt angeordent sind, tritt dort nicht auf (siehe Beispiel auf Tabellenblatt "Datenquelle" mit den gleichen Daten).
Das Verändern der Zeichenflächengröße, verursacht wohl durch die Veränderte Teilung der Rubrikachse und der Beschriftung, habe ich nun dadurch ausgeglichen, dass die einmal festgesetze Größe und Position nach der Skalierung wieder hergestellt wird.
Soweit also der nächste Schritt, den ich noch in der Beispieldatei umgesetzt habe, da ich noch keine saubere Programmstruktur erstellt habe.
Gruß,
Uwe
Bild

Betrifft: Y-Achse Zoom, Y-Achse Startpunkt
von: Peter aus Berlin

Geschrieben am: 15.12.2006 17:42:20
Hallo Uwe,
das Dropdown "Zoom" ist jetzt vermutlich überflüssig?!
Ich habe versucht eine Bildlaufleiste Zoom für die y-Achse einzubauen, habe den Code aber nicht anpassen können. Außerdem müsste man x-Achse-Zoom und y-Achse-Zoom koppeln.
Weiterhin wollte ich einen Schieberegler für die Positionsbestimmumg auf der y-Achse einbauen, konnte natürlich den Code nicht anpassen.
Desweiteren wäre es günstig, wenn die Schieberegler für die Positionsbestimmung auf den Achsen in der Ausgangsstellung in der Mitte stehen würden.
Ich meine die Mitte des jeweiligen Wertebereichs und darausfolgend die Mitte des Schiebereglers.
Ziel ist es sich mit Hilfe der Schieberegler sich auf dem Diagramm wie auf einer Landkarte bewegen zu können und sich bei Bedarf einen Bereich heranzuholen!
Ich weiss, dass das alles keine Kleinigkeit ist.
Leider sind meine VBA-Kenntnisse nicht so gut, dass ich deine Tips problemlos verarbeiten könnte.
Ich wäre Dir sehr verbunden mir weiterhin zu helfen.
Könntest du oben genannte Wünsche umsetzen?
aktuelle Beispieldatei:
https://www.herber.de/bbs/user/39031.xls
Grüße aus Berlin
Peter
Bild

Betrifft: AW: Y-Achse Zoom, Y-Achse Startpunkt
von: ingUR

Geschrieben am: 15.12.2006 19:00:53
Hallo, Peter,
Du fragst, ob das Dropdown "Zoom" jetzt vermutlich überflüssig wird.
Ich meine nein, denn es ist die Anlaufselle, wenn man den Zoom wieder auf "Ausgangssituation" setzen möchte, oder mit dem Zentrum eines gezoomten Bereiches, wieder den Rundumblick vergrößern möchte.
Prinzipell ist es umsetzbar, die Achsen eigenständig zu "zoomen" (zu skalieren), genuso, wie es umsetzbar ist, die X/Y-Verändeungen zu koppeln ("Diagonalzoom").
Für die Ausganstellung der Regeler ist die zu entwickelende Programmlogik verantwortlich, so dass Deine Vorstellungen, dass diese in der Mitte stehen, zwar umgesetzt werden können, ob sie jedoch dort wirklich "richtig" plaziert sind, hängt von der Bedienungssicht des Nutzers ab, da ja eine Mittelstellung des Reglers erwarten läßt, dass Veränderungen in beiden Richtungen möglich sind, was allerdings im Falle, dass mit dem Vollbild des Diagramms eröffnet wird, so nicht sinnvoll der Fall ist.
Das Ziel, die Schieberegler als "Steuer" für die Fahrt über den Graphen einzusetzen, ist definiert.
Ob dieses jedoch auf einem Dialogblatt sein muß, wäre abzuklären, denn die Schwiergkeiten mit dem Flackern, weis ich derzeit nocht nicht zu umschiffen, da ich mich damit noch nicht im Detail auseinandergesetzt habe.
Wie Du also richtig feststellst, verdient diese Teilaufgabe besondere Fürsorge bei der Entwicklung, um nicht am Ende ein Produkt zu haben, was schwerfällig in der Anwendung und undurchsichtig in der Programmpflege für Dich ist.
Daher mein Vorschlag, da Du auch aus Berlin kommst, ich über die Emailadresse fand, dass entfernungsmäßig uns keine 3 km trennen (von Deiner Firma zu meinem Sitz), wir erörtern die Möglichkeiten zur Umsetzung im gemeinsamen Gespräch, denn, wie beschrieben, umsetzen kann man Deine Wünsche wohl, doch ob der begonnene Weg der Idealpfad ist, wäre zu prüfen.
Wenn mein Vorschlag Deine Vorstellung trifft, dann sende ich Dir eine Email.
Gruß,
Uwe
Bild

Betrifft: AW: Y-Achse Zoom, Y-Achse Startpunkt
von: ingUR

Geschrieben am: 16.12.2006 10:19:29
Hallo, Peter,
hier ( https://www.herber.de/bbs/user/39039.xls ) die erweiterte Funktionalität (Y-Schieber) ohne besondere Berücksichtigung der weiteren Gesaltungsanforderungen an das Layout, da ich bisher noch nicht erkannt habe, das die Anordnung der Elemente auf einem Diagrammblatt nicht zu optimalen Lösungen führen kann. Es soll nur als Anhalt zum Ansprechen der Werteachse (xlValue) im Diagramm dienen.
Gruß,
Uwe
Bild

Betrifft: Wertebereich macht Probleme
von: Peter aus Berlin

Geschrieben am: 18.12.2006 14:08:09
Hallo Uwe,
ich konnte mich heute erst mit dem Tool beschäftigen und Dir antworten.
Da mir die funktionalität der jetzigen Programmierung, (Startpunkt-x, Startpunkt-y, Zoom-x, Zoom-y) für die Arbeit an x,y-Daten die ich erwarte( d.h. keine kurvenähnlichen Daten) nicht geeignet erschien, habe ich versucht einen meiner Wertebereiche einzusetzen.
Ich scheiterte schon bei der Anassung der Eigenschaften der Schieberegler.
Meine X- und Y-Werte sind GPS-Koordinaten, d.h. die Zahlen sind 6- und 7-stellig.
Die Schieberegler kann man in Maximum nur auf 30.000 setzen.
Außerdem wiederholen sich ganze Datensätze, da die Punkte die hier dargestellt werden offt in parallelen Reihen stehen.
Ich vermute deshalb, dass das derzeitige Konzept mit einer "Wanderung" über den Wertebereich so nicht aufrechterhalten werden kann.
In meiner aktuellen Beispieldatei habe ich im Tabellenblatt "Datenquelle1" ein Beispiel meiner X-,Y-Daten gegeben.
Die Beispieldaten zeigen im x,y-Punktdiagramm 2 schräge Reihen. (habe ich hier nicht dargestellt)
Zukünftigen Datensätzen werden bis zu 60 Punkte pro Reihe und 50 Reihen, d.h. 3000 Punkte haben können.
Außerdem werden zu jedem Punkt im Moment 8 Parameter erfasst und mit dem jeweileigen Punkt in einer Zeile abgespeichert. (zukünftig bis zu 20 Parameter)
In meinem derzeitigen Tool ist die Darstellung eines Datensatzes dieser Größe schon möglich. Desweteren kann ich per Mausklick auf einem Punkt mir die Punktbezogenen Parameter anzeigen lassen. Die Punkte werden, je nach Auswahl eines bestimmten Parameters in Farbe unterschiedlich benotet dargestellt.
Ander Features wie Parameter-Duchschnittsdarstellung und Auswertung in Kreisdiagrammen, Protokollierung der Benutzer usw. sind auch schon möglich. Das Tool ist auch schon so weit automatisiert, dass nach einfügen eines Datensatzes mit unterschiedlicher Größe zu seinem Vorgänger sofort alles fuktioniert.
Ich hoffe meine Erläuterung zeigt ausreichend was schon da ist und was notwendigerweise noch fehlt.
Es ist eifach unerlässlich bei solchen Datenmengen ein praktikables Werkzeug zu haben.
Man muß! sich (wie auf einer "Landkarte") auf dem Punktdiagramm bewegen können.
Um bei solch einer Menge von Punkten sich genau den richtigen Punkt anklicken zu können ("ihn zu erwischen"), ist es nötig einen bestimmten Bereich vergrößern zu können.
Wenn du noch Lust und Zeit hast mir bei der Problemlösung zu helfen, bitte ich dich, mit Hilfe meines kleinen Beispieldatansatzes einen Lösungsweg zu finden.
Fragen des Layout spielen derzeit keine Rollen. Nur die formale Lösung ist jetzt wichtig.
Ein Treffen im Büro ist natürlich möglich.
aktuelle Beispieldatei: https://www.herber.de/bbs/user/39083.xls
Gruß
Peter
 Bild
Excel-Beispiele zum Thema "Makro Zoom, Diagramm in Diagramm-Blatt zoomen"
Diagramm in Userform Export von Diagrammen im Grafikformat
Diagramm aus Arbeitsblatt in Diagrammblatt übertragen Balkendiagramm simulieren
Diagramm aus Daten einer Bandbreite bilden Diagramm-Datenreihen blinken lassen und Linie langsam zeichnen
Diagramm exportieren und in Tabellenblatt importieren Eine Serie von Diagrammen erstellen und Druckansicht zeigen
Diagramm-Datenbereich über Schaltfläche festlegen Mit einer Diagramm-Bildlaufleiste durch Tabelle bewegen