Cellen kopiëren van Excel naar Word.

  • Onderwerp starter Onderwerp starter Rnie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Rnie

Gebruiker
Lid geworden
19 jun 2009
Berichten
63
Hallo,

Ik zit met een probleempje. Zal het proberen uit te leggen.

Ik heb een Excel bestand “blad 1” met allemaal waarden en als ik daar op een regel klik moet deze regel in “blad 2” komen te staan. Dit is gelukt (met behulp van Helpmij.nl :) ) met de volgende formule:
Code:
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 Then Sheets("blad 2").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 8) = Target.Resize(, 8).Value
End Sub

Maar nu wil ik de waarden van “blad 2” kopiëren naar een Word bestand. Het enige wat mij lukt is om dit bestand te openen maar krijg de gegevens van “blad 2” er niet in. Nu is het zo dat er ook wat vaste waarden in “blad 2” staan die niet mee gekopieerd moeten worden. Ik wil dus bijvoorbeeld alleen de cellen A12 t/m J28 kopiëren naar het Word bestand. Tot nu tot heb ik de volgende code:
Code:
 Private Sub CommandButton1_Click()
Dim objWordApp As Object, objWordDoc As Object
    Set objWordApp = CreateObject("Word.application")
    objWordApp.Visible = True
    Set objWordDoc = objWordApp.Documents.Open("C:\Mijn documenten\betandsnaam.doc")
End Sub

Heeft iemand voor mij een oplossing / aanvulling op de formule of een link. Het zal ongetwijfeld simpel zijn maar ik kom er ff niet uit.

Groeten,
Rnie
 
Laatst bewerkt:
Kan een modje de titel veranderen naar "Cellen kopiëren van Excel naar Word". :confused:
 
Kun je zelf ook binnen 24 uur.;)

Bericht aanpassen > Geavanceerd en je kan de titel daar nog aanpassen.:)
 
Code:
Sub XLRangeToDoc()
     'copy range to table in word doc
     '
    Dim objWordApp As Object
    Dim objWordDoc As Object
    Dim rngData As Range
     
    Set rngData = Range("A1:G40")
     
     ' create instance of word and open doc
    Set objWordApp = CreateObject("Word.application")
    objWordApp.Visible = True
    Set objWordDoc = objWordApp.Documents.Add
    
    ' goto bookmark
    'plaats een bladwijzer als je steeds naar dezelfde plaats
    'wil kopieëren om de range te plakken
    objWordDoc.Bookmarks("InsertHere").Range.Select
     
     ' Copy xl range
    rngData.Copy
     
     ' Paste the range
    objWordApp.Selection.PasteSpecial Link:=False, DataType:=1, _
    Placement:=0, DisplayAsIcon:=False
     
    objWordDoc.Save
    objWordDoc.Close
    objWordApp.Quit
     
    Set objWordDoc = Nothing
    Set objWordApp = Nothing
     
End Sub
 
Bedankt!:) Deze werkt goed.
Ik heb de code een klein beetje aangepast alleen vroeg ik me de volgende twee dingen af:
  • In het Word-bestand staat een vaste tekst. Hieronder moet eigenlijk de ingevoegde waarden uit Excel komen. Bij jouw oplossing word de ingevoegd waarden bovenaan gezet en staat mijn vaste tekst eronder.
  • Verder vroeg ik me af of de ingevoegde waarden ook als tekst ingevoerd kunnen worden i.p.v. cellen.

Rnie
 
Maak op de plaats waar de gegevens moeten komen een bladwijzer aan. Wijzig dan de naam in onderstaande in de naam van je bladwijzer
Code:
objWordDoc.Bookmarks("[COLOR="red"]InsertHere[/COLOR]").Range.Select
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan