Makro til generering af flere diagrammer på en gang
Hej eksperter,Jeg skal lave en makro, der kan generere flere diagrammer på en gang. Skulle gerne være meget tidsbesparende. Når jeg bruger optagerfunktionen vil det dog ikke virke, ikke engang med kun et enkelt diagram.
Jeg er ikke en VBA-haj og kan ikke finde ud af om og hvordan jeg f.eks. laver en række diagramvariabler så excel selv finder ud af at navngive dem rigtigt... For jeg tror det er her den går galt??? Debuggeren melder i hvert fald fejl første gang ved ("Diagram 5")....
Alt hjælp værdsættes...
Koden ser ud som nedenstående:
Sub Lav_diagrammer()
'
' Lav_diagrammer Makro
'
'
Range("B3:E4").Select
Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Sheets("Ark2").Range("B3:E4"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Ark2"
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
ActiveChart.Axes(xlValue).Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Diagram 5").IncrementLeft 173.25
ActiveSheet.Shapes("Diagram 5").IncrementTop -81#
ActiveWindow.Visible = False
Windows("071205 - Kuben_Test.xls").Activate
Range("B5:E6").Select
Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Sheets("Ark2").Range("B5:E6"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Ark2"
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
ActiveSheet.Shapes("Diagram 6").IncrementLeft 174#
ActiveSheet.Shapes("Diagram 6").IncrementTop 106.5
ActiveWindow.Visible = False
Windows("071205 - Kuben_Test.xls").Activate
Range("B7:E8").Select
Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Sheets("Ark2").Range("B7:E8"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Ark2"
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = False
Windows("071205 - Kuben_Test.xls").SmallScroll Down:=10
ActiveChart.Axes(xlCategory).Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Diagram 7").IncrementLeft 179.25
ActiveSheet.Shapes("Diagram 7").IncrementTop 294.75
End Sub
