Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
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
Inhaltsverzeichnis

Zeichnungsflächenbild dynamisch anpassen

Zeichnungsflächenbild dynamisch anpassen
29.10.2016 12:48:47
PlotArea_Verzweifler
Hallo Experten,
ich verzweifle gerade an einem blöden Problem:
Ich möchte den Bildausschnitt eines eingefügten Hintergrundbildes in der Zeichnungsfläche eines wissenschaftlichen x-y-Diagramms dynamisch mit der Achsenskalierung des Diagramms anpassen, so dass z.B. bei einer "Herausvergrößerung" eines bestimmten Achsenbereiches sowohl auf der x-, als auch auf der y-Achse auch immer nur der entsprechende Bildausschnitt auf der Zeichnungsfläche zu sehen ist.
Manuell geht das prima - das heißt, ich kann die X- und Y-Offset-Werte und die Skalierungswerte, die ich ins Menü eingeben muss, entsprechend der Achsenskalierung berechnen und ins Menü eingeben - der Bildausschnitt stimmt dann.
Aber wieso finde ich in EXCEL 2013 (und übrigens auch im Netz) keine VBA-Methode, mit der ich diese 4 Werte über ein Makro ansprechen kann? Über den Makrorekorder wird das geflissentlich ignoriert...
Für Tipps und Hinweise wäre ich sehr dankbar!
LG,
Andi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichnungsflächenbild dynamisch anpassen
29.10.2016 18:23:32
fcs
Hallo Andi,
der Rekorder unter Excel 2010 war etwas auskunftswilliger, so dass ich zumindest das relvante Diagrammobject herausbekommen habe.
Die einzustellenden Parameter kann man dann im Schrittmodus über das Lokalfenster austüfteln und durch Definition eines entsprehenden Objekts im Code.
Die Berechnung der Skalierungsparameter und der Offsets musst du dann noch einbauen.
Gruß
Franz
Sub Hintergrundbild()
Dim objPlotArea As PlotArea
Dim varOffsetX, varOffsetY
Dim varHorizScale, varVertScale
varOffsetX = 0.2
varOffsetY = 0.4
varHorizScale = 0.5
varVertScale = 0.5
Set objPlotArea = ActiveChart.PlotArea
With objPlotArea.Format.Fill
.Visible = msoTrue
.UserPicture "C:\Users\Public\Pictures\Sample Pictures\Tree.jpg"
.Transparency = 0.3
.TextureAlignment = msoTextureTopLeft
.TextureTile = msoTrue 'Bild nebeneinder als Textur
.TextureHorizontalScale = varHorizScale
.TextureVerticalScale = varVertScale
.TextureOffsetX = varOffsetX
.TextureOffsetY = varOffsetY
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige