Avatar billede pawll Nybegynder
05. december 2007 - 23:22 Der er 7 kommentarer og
1 løsning

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
Avatar billede supertekst Ekspert
05. december 2007 - 23:35 #1
Da jeg rettede
    ActiveSheet.Shapes("Diagram 5").IncrementLeft 173.25
    ActiveSheet.Shapes("Diagram 5").IncrementTop -81#
til
    ActiveSheet.Shapes(1).IncrementLeft 173.25
    ActiveSheet.Shapes(1).IncrementTop -81#

så var er ingen fejl
Avatar billede supertekst Ekspert
05. december 2007 - 23:40 #2
Fortsatte med de tilsvarende - og rettede til (2)& (3)

så var der 3 diagrammer..
Avatar billede pawll Nybegynder
06. december 2007 - 08:25 #3
tester det til middag, og krydser fingre for det virker! :) Så er der point og utrolig mange tak for hjælpen...
Avatar billede supertekst Ekspert
06. december 2007 - 08:58 #4
OK
Avatar billede pawll Nybegynder
06. december 2007 - 09:06 #5
hvis nu jeg ikke kan huske hvordan jeg giver point, får jeg så et diskret vink?
Avatar billede pawll Nybegynder
06. december 2007 - 09:07 #6
ok,
Avatar billede pawll Nybegynder
06. december 2007 - 09:08 #7
det virkede, så hvis du svarer så giver jeg point :) Tak for hjælpen, det er ofte ikke meget der skal rettes, men uden rettelsen er det stadig no-go.

//Paw
Avatar billede supertekst Ekspert
06. december 2007 - 12:50 #8
Selv tak - godt du fik det til at virke
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester