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

Diagramm mit VBA formatieren

Diagramm mit VBA formatieren
15.07.2013 09:06:00
Ralf
Hallo Forum,
ich möchte mit folgendem Code ein Diagramm (Diagrammtyp "Punkt (X Y)") formatieren:
<pre>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strName As String
strName = ActiveSheet.Range("A1").Value
With ActiveSheet.ChartObjects(strName).Chart
'Category (Y) Axis
With .Axes(xlValue)
.MaximumScale = Range("B33")
.MinimumScale = Range("C33")
.MajorUnitIsAuto = True
.MinorUnitIsAuto = True
.MajorTickMark = xlOutside
.MinorTickMark = xlOutside
.HasMajorGridlines = True
.HasMinorGridlines = False
'.Selection.TickLabels.NumberFormat = "#.##0,00"
End With
'Category (X) Axis
With .Axes(xlCategory)
.MaximumScale = Range("F33")
.MinimumScale = Range("G33")
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
End With
'Formatierung Diagrammtitel
If .HasTitle = True Then
With .ChartTitle.Format.TextFrame2.TextRange.Font
.Name = "Arial"
.Size = 14
End With
End If
'Formatierung Legende
If .HasLegend = True Then
With .Legend.Format.TextFrame2.TextRange.Font
.Name = "Arial"
.Size = 10
End With
End If
'Formatierung Diagrammfläche
With .ChartArea.Format
With .Fill
.ForeColor.RGB = RGB(255, 255, 255) 'weiß
End With
With .Line
.Visible = msoTrue
.DashStyle = msoLineSolid
.Weight = 0
.ForeColor.RGB = RGB(255, 255, 255) 'weiß
End With
End With
'Formatierung Zeichnungsfläche
With .PlotArea.Format
With .Fill
.Visible = msoFalse
.ForeColor.RGB = RGB(255, 255, 255) 'weiß
End With
With .Line
.Visible = msoFalse '=msoTrue wenn Linie angezeigt werden soll
.DashStyle = msoLineSolid
.Weight = 1
.ForeColor.RGB = RGB(127, 127, 127) 'weiß, Hintergrund 1, dunkler 50%
End With
End With
End Sub</pre>
Folgende Probleme habe ich jetzt:
- Zahlenformat ändern der y-Achse funktioniert nicht, wünschenswert wäre es, das Zahlenformat aus einer Zelle (Tabellenblatt "Diagramm", Zelle "E35")zu übernehmen, da ich da verschiedene Bedingungen habe.
- Formatierung Diagrammtitel meldet Fehler "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichender Verweis"
- Formatierung Legende meldet Fehler "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichender Verweis"
- Formatierung Diagrammfläche meldet Fehler "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichender Verweis"
- Formatierung Zeichnungsfläche meldet Fehler "Fehler beim Kompilieren: Unzulässiger oder nicht ausreichender Verweis"
Mit dem Makrorekorder komme ich auch nicht wirklich weiter.
Kann mir bitte jemand helfen?
Vielen Dank im Voraus für Eure Hilfe.
Viele Grüße
Ralf

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm mit VBA formatieren
16.07.2013 12:46:16
fcs
Hallo Ralf,
die Kompilierungsfehler resultieren aus einem falsch positionierten "End With"
'Category (X) Axis
With .Axes(xlCategory)
.MaximumScale = Range("F33")
.MinimumScale = Range("G33")
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
End With    'Dieses End With ist hier falsch es muss in die Zeile vor End Sub verschoben werden. _
Warum willst du hier mit dem Selection-Change-Ereignis das Diagramm aktualisieren?
Wäre hier nicht eine einfache "Schaltfläche" sinnvoller?
Das Achsenformat an eine Zellformatierung/Zellwert zu koppeln ist etwas schwieriger. Warum funktioniert es denn nicht die Formatierung der Quellzellen für die Achse zu verwenden?
Gruß
Franz

Anzeige
AW: Diagramm mit VBA formatieren
16.07.2013 13:15:11
Ralf
Hallo Franz,
Selection-Change-Ereignis deshalb, weil es bequemer ist.
Das End With Problem ist gelöst.
Die Formatierung der Quellzellen zu übernehmen, wäre vermutlich einfacher, ich weiß aber nicht, wie dies zu bewerkstelligen ist. Kannst Du mich dabei unterstützen?
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

AW: Diagramm mit VBA formatieren
17.07.2013 00:04:21
fcs
Hallo Ralf,
Die Formatierung der Quellzellen zu übernehmen, wäre vermutlich einfacher, ich weiß aber nicht, wie dies zu bewerkstelligen ist. Kannst Du mich dabei unterstützen?
Dies ist eigentlich die Standardeinstellung in Excel.
Unter Formatierung für die Achse(n) musst du ggf. die entsprechende Option wieder aktivieren.
Die Formatierung für die Werte des Diagramms in der Tabelle formatierst du dann entsprechend.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige