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

Maximum Skalierung

Maximum Skalierung
13.08.2015 11:23:42
Raphael
Hallo Community,
ich würde gerne auf meiner X-Achse auch ein Maximum von 20 einhalten und auf den "Leeren Bereich" gerne verzichten.
Bisheriger Code:
ActiveChart.Axes(xlValue).MaximumScale = 20
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MajorUnit = 1
ActiveChart.Axes(xlValue).Select
Selection.TickLabels.NumberFormat = "Q ##"
Selection.TickLabels.NumberFormat = "Q ##"
With ActiveChart.Axes(xlCategory).Select
Selection.TickLabels.NumberFormat = "Q ##"
Selection.TickLabels.NumberFormat = "Q ##"
End With
Hat jemand einen Tipp ? ;)
Danke
Userbild

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Maximum Skalierung
13.08.2015 16:59:26
Beverly
Hi,
die Skalierung der Rubrikenachse (Horizontalachse) in einem Liniendiagramm hängt davon ab, wie viele Zellen du als Datnbreich vorgegeben hast und lässt sich nicht so ohne weiteres per VBA regulieren. Ich würde stattdessen ein Diagramm mit dynamischem Bereich verwenden, realisiert durch definierte Namen. Schau dir dazu die Arbeitsmappe Dynamisches Diagramm1 auf meiner HP, Seite Diagramme mit verschiedenen Beispielen an.


Anzeige
AW: Maximum Skalierung
14.08.2015 09:35:48
Raphael
Hi Karin,
wie immer vielen Dank für deine Antwort ;)
Gäbe es auch eine Möglichkeit mit Hilfe eines Makros die Range der Tabelle so auszuwählen, dass leere Datenreihen bzw. Zeilen einfach ignoriert werden? Dann würde es vom Datenbereich wieder passen.
Mit meinem bisherigen Code wurde ja nur die Range definiert.
Über eine Do While Schleife kam ich leider nicht zu dem gewünschten Ergebnis.
Gruß,
Raphael
Sheets("Diagramm_Quartal").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("Datentabelle_Quartal").Range("B10:BB43")
Worksheets("Diagramm_Quartal").ChartObjects(1).Name = "MSTA_Quartal"

Anzeige
AW: Maximum Skalierung
14.08.2015 10:00:13
Beverly
Hi,
ich nehme an, deine Daten stehen in Reihenanordnung? Dann müstest du die letzte belegte Spalte ermitteln und daraus dann den Bereich festlegen:
Dim intLetzte As Integer
Dim rngBereich As Range
With Worksheets("Datentabelle_Quartal")
' letzte belegte Spalte
intLetzte = .Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious). _
Column
Set rngBereich = .Range(.Cells(10, 2), .Cells(43, intLetzte))
End With
With Worksheets("Diagramm_Quartal")
With .Shapes.AddChart.Chart
.ChartType = xlLineMarkers
.SetSourceData Source:=rngBereich
.Parent.Name = "MSTA_Quartal"
End With
End With
Set rngBereich = Nothing


Anzeige
AW: Maximum Skalierung
14.08.2015 11:31:26
Raphael
Danke Karin ;)
Habe es auf Zeilen angepasst und es funktioniert wunderbar!

AW: Maximum Skalierung
17.08.2015 08:59:09
Raphael
Guten Morgen Karin,
ich habe den Code angepasst, da er alles bis zur nächsten leeren Zeile markieren soll.
Ich habe Werte von B11 bis B30, weshalb Excel auch nur die Range von B11 bis V30 auswählen soll.
Leider wird aktuell nur bis Zeile B22 ausgewählt ;(
Es würde reichen wenn nur die Spalte B ab der 11 Zeile nach leeren Werten untersucht wird.
Die Range würde bei Spalte V (22 Spalte) immer enden.
Ich wollte es so lösen, jedoch hat es nicht geklappt....
Sub Quartal_Bug()
Dim intLetzte As Integer
Dim rngBereich As Range
With Worksheets("Datentabelle_Quartal")
' letzte belegte Spalte
intLetzte = .Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious). _
Column
Set rngBereich = .Range(.Cells(11, 2), .Cells(intLetzte, 22))
End With
With Worksheets("Diagramm_Quartal")
With .Shapes.AddChart.Chart
.ChartType = xlLineMarkers
.SetSourceData Source:=rngBereich
.Parent.Name = "MSTA_Quartal"
End With
End With
Set rngBereich = Nothing
Wärst du so lieb mir nochmal zu helfen ?
Gruß,
Raphael

Anzeige
AW: Maximum Skalierung
17.08.2015 09:16:00
Beverly
Hi Raphael,
mit deinem Code für intLetzte wird die letzte belegte Spalte ermittelt (22) - du aber verwendest diesen Wert für die letzte belegte Zeile bei der Bereichszuweisung.
Sub Quartal()
Dim rngBereich As Range
Dim lngLetzte As Long
With Worksheets("Datentabelle_Quartal")
' letzte belegte Zeile in Spalte B
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 2)), .Cells(.Rows.Count, 2).End(xlUp).Row, . _
Rows.Count)
Set rngBereich = .Range(.Cells(11, 2), .Cells(lngLetzte, 22))
End With
With Worksheets("Diagramm_Quartal")
With .Shapes.AddChart.Chart
.ChartType = xlLineMarkers
.SetSourceData Source:=rngBereich
.Parent.Name = "MSTA_Quartal"
End With
End With
Set rngBereich = Nothing
End Sub


Anzeige
AW: Maximum Skalierung
17.08.2015 09:37:27
Raphael
Danke so funktioniert es einwandfrei ! ;)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige