Re: Geht's so?
28.08.2002 17:15:46
Andre
Hallo Alex,Vorlage habe ich das einfach nur genannt, weil es ja so eine Art Muster oder Original oder eben Vorlage für die anderen Diagramme sein soll.
Ich habe einfach mal aufgezeichnet, was so abläuft. Natürlich geht der code etwas kürzer, nur Excel setzt halt immer ein halbes Dutzend oder mehr Eigenschaften, obwohl die mich gar nicht interessieren. Noch ein Hinweis - bei manchen Diagrammarten wäre es wichtig, vorher im Datenbereich zumindest Nullen einzutragen, sonst nimmt es den Datenbereich nicht wie programmiert.
Na ja, hier der komplette, ungekürzte code:
Makro1 - Erstellen der Vorlage (geht aber auch per Hand, ist ja nur einmalig) - das Blatt habe ich auch gleich mal Vorlage genannt,
Makro2 - Kopieren auf irgend ein Tabellenblatt und Zuweisen der Datenquelle
Sub Makro1()
'
' Makro1 Makro
' Makro am 28.08.2002 von Andre Schau aufgezeichnet
'
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Vorlage"
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Vorlage").Range("A1:B10"), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Vorlage"
With ActiveChart
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
With Selection.Border
.Weight = 2
.LineStyle = -1
End With
Sheets("Vorlage").DrawingObjects("Diagramm 1").RoundedCorners = False
Sheets("Vorlage").DrawingObjects("Diagramm 1").Shadow = False
Selection.Fill.UserPicture PictureFile:= _
"C:\Eigene Dateien\Eigene Bilder\Beispiel.jpg"
Selection.Fill.Visible = True
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
Selection.Interior.ColorIndex = xlNone
ActiveWindow.Visible = False
Windows("Mappe1").Activate
Range("F4").Select
End Sub
Sub Makro2()
'
' Makro2 Makro
' Makro am 28.08.2002 von Andre Schau aufgezeichnet
'
Sheets("Vorlage").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
ActiveWindow.Visible = False
Windows("Mappe1").Activate
Sheets("Tabelle2").Select
Range("C8").Select
ActiveSheet.Paste
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SetSourceData Source:=Sheets("Tabelle2").Range("B5:D24"), PlotBy _
:=xlColumns
End Sub
gruss andre