AW: Makro für ein Diagramm
28.11.2008 16:26:39
Robert
Liebe Karin,
leider kann ich aufgrund der Daten in der Datei, die Datei nicht im ganzen uploaden.
Hier aber das Makro im Überblick:
Private Sub CommandButton2_Click()
Sheets("Data").Select
ActiveSheet.Range("H1:J2000").Select
Selection.Copy
Sheets("ChartData").Select
With ActiveSheet.Range("A1:C2000").Select
Selection.PasteSpecial Paste:=xlValues
Selection.PasteSpecial Paste:=xlFormats
End With
Dim loLetzte As Long
Dim chdiagramm As Chart
loLetzte = IIf(IsEmpty(Sheets("ChartData").Cells(Sheets("ChartData").Rows.Count, 1)), _
Sheets("ChartData").Cells(Sheets("ChartData").Rows.Count, 1).End(xlUp).Row, Sheets("ChartData").Rows.Count)
If ThisWorkbook.Charts.Count = 0 Then
Set chdiagramm = Charts.Add
chdiagramm.Name = "Chart"
Else
Set chdiagramm = Charts("Chart")
End If
With chdiagramm
.ChartType = xlLine
.SetSourceData Source:=Sheets("ChartData").Range("A1:C" & loLetzte), PlotBy _
:=xlColumns
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
Zuerst wird die entsprechende Datenreihe aus dem Sheet "Data" in das Sheet "ChartData" kopiert.
Das liegt daran, dass im Sheet "Data" die Zellen durch eine "Wenn-Dann-Formel" mit Verknüpfung zu einem weiteren Datensheet befüllt werden.
Es wird der Zellbereich bis Zeile 2000 kopiert, weil mtl. Daten ergänzt werden. Derzeit sind lediglich die Zellen bis Zeile 300 ausgefüllt. Allerdings ist im Sheet "Data" bis Zeile 2000 in jeder Zelle die "Wenn-Dann-Formel" hinterlegt.
Das Makro für den Chart funktioniert so weit, nur leider selektiert das Makro nun die Zellen 1-2000 im Sheet "ChartData". Daher ist der Chart jetzt leider viel zu lang!
Das muss wohl damit zusammenhängen, dass ich vorher die Daten in das Sheet "ChartData" kopiert habe, oder?!
Leider kann ich selber nicht programmieren und baue mir die Sachen aufgrund der guten Hilfe hier eher intuitiv zusammen... :)
Vielen lieben Dank für Deine Hilfe!
Robert