Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

Makro für Diagramm anpassen

Makro für Diagramm anpassen
19.01.2013 14:28:03
Andreas
Guten Tag liebe Excelgemeinde,
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.

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

Betreff
Datum
Anwender
Anzeige
AW: Makro für Diagramm anpassen
21.01.2013 10:15:21
Beverly
Hi Andreas,
irgendwie kann ich deine Beschreibung nicht so ganz mit dem Aufbau deines Tabellenblattes in Einklang bringen. Ich hätte vermutet, dass bei Eingabe in C26 bis C28 das 1. Diagramm formatiert werden soll. Was hat es nun mit dem "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" auf sich?


AW: Makro für Diagramm anpassen
21.01.2013 15:59:46
Andreas
Hi Karin,
danke erstmal, dass du dich meinem Problem angenommen hast.
Ich habe vergessen mit hin zu schreiben, dass der Text:
"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."
sich noch auf das gefundene Makro bezieht und nicht auf meine Datei.
Somit war deine Vermutung schon richtig.
Nur zur Info:
Ich kann zwar nichts programmieren, aber ein wenig Kenntnisse habe ich schon (Realschule mal reingeschnuppert und auf der Technikerschule Roboter programmiert).
Somit kann ich zwar Schlussfolgerungen ziehen, kann aber leider nichts umschreiben, da ich mich mit den Befehlen nicht auskenne. Wenn ich aber weiß, was ich ändern muss, habe ich keine Probleme damit, das Makro anzupassen.
Gruß
Andreas

Anzeige
AW: Makro für Diagramm anpassen
21.01.2013 16:02:15
Andreas
Hi Karin,
danke erstmal, dass du dich meinem Problem angenommen hast.
Ich habe vergessen mit hin zu schreiben, dass der Text:
"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."
sich noch auf das gefundene Makro bezieht und nicht auf meine Datei.
Somit war deine Vermutung schon richtig.
Nur zur Info:
Ich kann zwar nichts programmieren, aber ein wenig Kenntnisse habe ich schon (Realschule mal reingeschnuppert und auf der Technikerschule Roboter programmiert).
Somit kann ich zwar Schlussfolgerungen ziehen, kann aber leider nichts umschreiben, da ich mich mit den Befehlen jedoch nicht auskenne. Wenn ich aber weiß, was ich ändern muss, habe ich keine Probleme damit, das Makro anzupassen.
Gruß
Andreas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige