|
XY Diagramm zoomen und verschieben
|
| Autor |
Nachricht |
makrohard
Autodidakt
Verfasst am: 08. Feb 2008, 22:05 Rufname:
|
|
| Version: Office XP (2002) |
|
Hier im Forum ist schon mal die Frage aufgetaucht, ob man in einem Diagramm zoomen könnte. Hier ein Programm mit dem dies möglich ist. Es funktioniert allerdings nur mit X/Y Diagrammen. Die Achsen müssen zudem die gleiche Spannweite aufweisen, d.h. die Differenz der Maxima und Minima müssen gleich sein, sonst wirds beim Zoomen verzerrt.
Wie funktioniert's?
Die Minima und Maxima der Achsen werden schrittweise verändert. Dadurch werden die Achsen gedehnt, gestaucht oder verschoben. Die Schrittweite wird auf die Spannweite der Achsen angepasst, damit um einen festen Maßstabswert vergrößert und verkleinert werden kann. Die Divisoren SensZoom und SensPan legen das Verhältinis der Zoom / Pan Schrittweite zu der Spannweite der Achsen fest. Der gepastete Code erwartet ein aktives Diagramm.
So ists gemacht:
| Code: |
Option Explicit
Const SensZoom As Integer = 10
Const SensPan As Integer = 20
Sub SetAxis(IsZoom As Boolean, Xmin, Ymin, Xmax, YMax As Integer)
Dim Increment As Single
With ActiveChart
If IsZoom = True Then
Increment = (.Axes(xlValue).MaximumScale - .Axes(xlValue).MinimumScale) / SensZoom
Else
Increment = (.Axes(xlValue).MaximumScale - .Axes(xlValue).MinimumScale) / SensPan
End If
.Axes(xlCategory).MinimumScale = .Axes(xlCategory).MinimumScale + Increment * Xmin
.Axes(xlCategory).MaximumScale = .Axes(xlCategory).MaximumScale + Increment * Xmax
.Axes(xlValue).MinimumScale = .Axes(xlValue).MinimumScale + Increment * Ymin
.Axes(xlValue).MaximumScale = .Axes(xlValue).MaximumScale + Increment * YMax
End With
End Sub
|
Aufgerufen wird der obere Programmteil mit einem der folgenden Befehle, um die entsprechende Aktion einmal auszuführen:
| Code: |
Call SetAxis(True, 1, 1, -1, -1) 'ZoomIn
Call SetAxis(True, -1, -1, 1, 1) 'ZoomOut
Call SetAxis(False, 0, -1, 0, -1) ' MoveUp
Call SetAxis(False, 0, 1, 0, 1) ' MoveDown
Call SetAxis(False, 1, 0, 1, 0) 'MoveLeft
Call SetAxis(False, -1, 0, -1, 0) 'MoveRight
|
Zum Download eine Arbeitsmappe, die ein Beispiel mit einem Diagramm zeigt. Es kann ein UserForm geöffnet werden, in der Code sowohl über Schaltflächen als auch über Tastatureingaben angesprochen wird.
| Beschreibung: |
| X/Y Diagramm zoomen und verschieben |
|
 Download |
| Dateiname: |
ZoomPan.xls |
| Dateigröße: |
52.5 KB |
| Heruntergeladen: |
539 mal |
Zuletzt bearbeitet von makrohard am 09. Feb 2008, 15:14, insgesamt 3-mal bearbeitet |
|
makrohard
Autodidakt
Verfasst am: 08. Feb 2008, 22:06 Rufname:
|
| |
| Version: Office XP (2002) |
|
| Falls jemand Fragen dazu hat, bitte in einem neuen Thread in Excel - VBA und Makros öffnen und mir eine PN schreiben, damit ich per eMail benachrichtigt werde.
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum herunterladen
|
| |

|
|
| Verwandte Themen |
| Forum / Themen |
Antworten |
Autor |
Aufrufe |
Letzter Beitrag |
 |
Excel Auswertungen: Diagramm - Probleme mit automatischer Achsenformatierung |
1 |
phlip2102 |
132 |
14. Apr 2010, 11:52 VBA_lerner  |
 |
Excel Auswertungen: Diagramm - "Schlange" in Skala (y-Achse) einsetzen |
10 |
Hanspompom |
529 |
28. Aug 2009, 12:06 tempo123455  |
 |
Excel Hilfe: Geschweifte Klammer im Diagramm |
0 |
Flo101985 |
538 |
04. Aug 2009, 11:02 Flo101985  |
 |
Excel Auswertungen: Diagramm - Erkennt nicht genug Werte bei ''Datenbereich" |
1 |
johnnytheknife |
413 |
16. Sep 2008, 20:41 Zero  |
 |
Excel Auswertungen: 2-Dimensionale Tabelle im Diagramm in Reihe darstellen |
3 |
rgraf |
1843 |
10. Feb 2008, 13:47 rgraf  |
 |
Excel VBA (Makros): Diagramm - Legende und DataTable formatieren möglich??? |
2 |
Dana_Fox |
1765 |
11. Jul 2007, 09:27 Dana_Fox  |
 |
Excel VBA (Makros): VBA Diagramm Name ändert sich durch Makro |
18 |
Bandito23 |
3709 |
22. Jun 2007, 13:35 Bamberg  |
 |
Excel Auswertungen: dynamisches Zeitreihen Diagramm |
2 |
Office Johnny |
619 |
29. Mai 2007, 14:02 Gast  |
 |
Excel Auswertungen: Diagramm mit bei dem man den chartbereich verändern kann? |
3 |
Gast |
615 |
03. Nov 2006, 11:47 Alto  |
 |
Excel Formeln: Vertikalen Zellbezug horizontal verschieben |
5 |
womanizer |
1446 |
23. Okt 2006, 13:30 AndyRhandy  |
 |
Excel VBA (Makros): Diagramm - Reihen festlegen & löschen |
1 |
KOTRET |
520 |
04. Sep 2006, 12:29 KOTRET  |
 |
Excel Auswertungen: Diagramm |
1 |
katrina |
521 |
29. Aug 2006, 12:14 Alto  |
| |
|