06. januar 2005 - 14:22Der er
11 kommentarer og 1 løsning
Overføre data fra en excelfil til et Worddokument
Jeg skal have genereret ca. 200 indviduelle rapporter i word. En del af indholdet i rapporten(word)er standardtekst, en anden del er udtræk fra en database, og udtrækket i excel. Til nu har jeg lavet et database udtræk(excel) pr. rapport overført data manuelt med copy og paste til den individuelle rapport(word)!! Det må kunne laves bedre. Jeg har forsøgt at optage en makro hvor jeg kopier feltet i excel overføre til et bogmærker i word og indsætter det der. Markroen ser sådan ud:
Sub sammenkædning() ' ' sammenkædning Makro ' Makro indspillet 06.01.2005 af Hans Henrik Bloksgaard ' Selection.GoTo What:=wdGoToBookmark, Name:="adresse" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = False End With Selection.PasteExcelTable False, False, False End Sub
Makroen kører ikke - "komandoen er ikke tilgængelig", Jeg efterlyser i denne makro også en reference til et specifikt regneark og jeg efterlyser også reference til en specifik celle.
Jeg vil jo stå med 200 regneark med hver sit navn Jeg vil skulle ind på 20 forskellig punkter i arket og hente data.
Jeg håbder nogen kan hjælpe gode point at hente, skal også ses i lyset at min behov er ret akut.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Kære RVM Tak for dit input. Jeg har prøvet dit forslag men det virker ikke som forventet. på ordren run kommer den ud med compile error "user defined type not defined" Jeg gør sikkert noget forkert. Skal jeg placerer denne makro på min word fil eller skal jeg placere det på min excel fil. Jeg har placeret makroen på mit excel ark. Umiddelbart havde jeg forventet en makro med afsæt i mit word dokument, og referencer ned i et excel ark.???
Dit punkt 3 har jeg behov for en uddybning af. Jeg går ud fra at når du skriver Range("ole") så er det celle placeringen i mit excel ark. Jeg går ud fra at når du skriver bookmakrs("her") udskifter jeg her med de navne jeg har tildelt i mine bogmærker.
Selection.GoTo What:=wdGoToBookmark, Name:="postnr" With ActiveDocument.Bookmarks .DefaultSorting = wdSortByName .ShowHidden = False End With Selection.PasteAndFormat (wdFormatPlainText) 'Selection.Paste 'Selection.PasteExcelTable False, False, False 'Selection.TypeParagraph
xlApp.Quit
Set xlApp = Nothing
End Sub
Mit behov er nu at skulle køre måske 20 makros alle med forskellig cellereference i excel og med forskellig bogmærkereference i word. Hvordan gøres det nemmest? skal jeg lave 20 makos hent 1(), hent2(), hent3() osv. og afspille dem fra en fælles makro(hvordan kan den se ud?) eller laves der blot en fælles makro hvor delelementer afspilles i en rækkefølge??( hvordan kan de se ud?) MVH HHB Jeg tilbyder gerne 60 ekstra et svar på denne
Hvis det er fra samme Excelfil, så kan du nøjes med at lave 20 linier, hvor du går til bogmærkerne og indsætter data fra cellereferenceren, da bogmærkenavnene vil være forskellige.
Sub Hent2()
Dim xlApp As Object
Set xlApp = CreateObject("excel.application") xlApp.Visible = True
xlApp.workbooks.Open FileName:="C:\udtræk til statusrapport.xls"
'Denne del skal køres for hvert bogmærke og område i Excel Indsæt "b47:c47", "Postnr" Indsæt "b47:c47", "Adresse" Indsæt "b47:c47", "Navn" Osv
xlApp.Quit
Set xlApp = Nothing
End Sub
Sub Indsæt(Område as string, Bogmærke as string) xlApp.Range(Område ).Select xlApp.Selection.Copy Selection.GoTo What:=wdGoToBookmark, Name:=Bogmærke Selection.PasteAndFormat (wdFormatPlainText) End sub
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.