Ich möchte bei einem Diagramm das Minimum, Maximum und den Hauptintervall der Y-Achse über die Eingabe in einer Zelle automatisch bestimmen.
Da ich schon ein wenig rechachiert habe, weiß ich, dass es ohne ein Makro nicht möglich ist.
Ich habe auch schon eines gefunden.
Jetzt zu meinem Problem.
1. Das Makro müsste jetzt an meine Datei angepasst werden und da ich VBA-mäßig keine Kenntnisse habe, weiß ich nicht, was und wie ich es ändern muss, damit es auf mein Diagramm zugreift.
2. In dem einen Arbeitsblatt sind 3 Diagramme hinterlegt.
3. Es kommen noch 34 weitere Arbeitsblätter hinzu mit den gleichen Diagrammen, nur anderen Werten.
Auf welchen Daten sich die Diagramme beziehen, habe ich im Arbeitsblatt "Diagramm_Daten" rot hinterlegt.
Das Makro, welches ich gefunden habe, sieht folgender maßen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim chDiagramm As Chart
Dim raStart As Range
Dim raEnde As Range
If Target.Count > 1 Then Exit Sub
With ActiveSheet
Set raStart = .Range("A6:A25").Find(.Range("D20"))
Set raEnde = .Range("A6:A25").Find(.Range("E20"))
Set chDiagramm = .ChartObjects(1).Chart
On Error GoTo Ende
Select Case Target.Address
Case "$D$20", "$E$20", "$F$20", "$G$20", "$D$21", "$E$21", "$F$21", "$G$21"
chDiagramm.SetSourceData Source:=.Range("A" & raStart.Row & ":B" & raEnde.Row)
If Target.Row = 20 Then
With chDiagramm.Axes(xlPrimary)
.MinimumScale = ActiveSheet.Range("D20")
.MaximumScale = ActiveSheet.Range("E20")
If ActiveSheet.Range("F20") = "" Or ActiveSheet.Range("G20") = "" Then
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
Else
.MajorUnit = ActiveSheet.Range("F20")
.MinorUnit = ActiveSheet.Range("G20")
End If
End With
Else
With chDiagramm.Axes(xlValue)
.MinimumScale = ActiveSheet.Range("D21")
.MaximumScale = ActiveSheet.Range("E21")
If ActiveSheet.Range("F20") = "" Or ActiveSheet.Range("G21") = "" Then
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
Else
.MajorUnit = ActiveSheet.Range("F21")
.MinorUnit = ActiveSheet.Range("G21")
End If
End With
End If
End Select
End With
Ende:
Set raStart = Nothing
Set raEnde = Nothing
Set chDiagramm = Nothing
End Sub
In Zeile 20 werden die Skalierungswerte für die X-Achse, in Zeile 21 für die Y-Achse eingegeben. Minimum in Spalte D, Maximum in Spalte E, Hauptintervall in Spalte F und Hilfsintervall in Spalte G.Hier die Datei:
https://www.herber.de/bbs/user/83479.xlsm
Schon vielen Dank für eure Hilfe.