Avatar billede jonathan87 Nybegynder
19. marts 2013 - 18:58 Der er 3 kommentarer og
1 løsning

vba excel word chart

Hej

Jeg har et word-dokument med flere grafer, som alle kommer fra et excel-dokument. Nogle af chartsene laves blot ud fra simple excel-kommandoer, imens andre laves ved hjælp af vba-kode. Mit problem er, at de charts, som er lavet ved hjælp af vba-kode, ikke opdateres i word-dokumentet, selv om de er blevet opdateret i excel. Jeg har kæmpet med det et stykke tid, og ved ikke, hvad jeg skal gøre, så håber nogen kan hjælpe.

Jeg har uploadet et eksempel med et word- og et excel-dokument:

http://gupl.dk/693819/
http://gupl.dk/693820/

Med venlig hilsen Jonathan
Avatar billede supertekst Ekspert
19. marts 2013 - 23:54 #1
Hvis du sætter denne kode ind under ark "Data" i xls - så opdateres den VBA-afh. graf på arket "Graf"

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$3" Or Target.Address = "$C$4" Then
        ActiveWorkbook.Sheets("Graf").Create_plot
    End If
End Sub

Så kan denne graf indsættes som object med kædeforbindelse i Word.
I Word kan der så indsættes VBA-kode til opdatering af kædeforbindelse når dokumentet åbnes.
Avatar billede jonathan87 Nybegynder
20. marts 2013 - 22:57 #2
Tak for svar! :) Jeg må hellere lige uddybe lidt...

Dataen, som grafen laves fra (i den egentlige workbook og ikke testen, som I kan se), bliver også genereret ved VBA-kode og bliver ikke puttet i noget ark overhovedet, så dataen er altså ikke placeret i nogen celler. Det ville måske virke, hvis jeg rent faktisk puttede dataen i et ark, men da der er tale om store datamængder og adskillige ark, hvor der skal laves en graf for hver af dem, ønsker jeg ikke det.

Det første du nævner, klarer jeg allerede på en lignende måde, så grafen bare opdateres, når jeg trykker på Calculate sheet, tror jeg knappen hedder, sidder ikke med excel åben (har slået automatiske beregninger fra, da det er alt for krævende for min workbook).

Angående at indsætte med kædeforbindelse så er jeg ikke helt med. Jeg har indsat i Word ved blot at trykke Ctrl+V, og de normale ikke-VBA-genererede grafer opdaterer fint på denne måde. Men er det en kædeforbindelse?

Hvis jeg kunne se et eksempel på, hvordan man i Word sørger for opdatering af kædeforbindelser, ville jeg være super glad. Kunne man dog gøre, så det manuelt skal køres (og evt. bestemme hvilke kædeforbindelser) og ikke når word-dokumentet åbnes? For ellers tror jeg, det kommer til at gå meget langsomt, når jeg skal åbne dokumentet...
Avatar billede supertekst Ekspert
20. marts 2013 - 23:12 #3
Selv tak - for vist ikke gjort mere ved det..
Avatar billede jonathan87 Nybegynder
15. september 2013 - 10:44 #4
lukker spørgsmålet.

Fandt ikke et svar, men links mellem excel-ark og word-dokumenter gør alligevel word utrolig langsom, så i sidste var det også ligegyldigt med et svar, da jeg droppede linksene.
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
Kurser inden for grundlæggende programmering

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