Vba code voor het kopieren van celwaarde in Word

Status
Niet open voor verdere reacties.

Jonathan1

Gebruiker
Lid geworden
23 jul 2020
Berichten
49
Hoi,

Ik heb de volgende vraag:

Ik ben opzoek naar een VBA code voor het kopiëren van een celwaarde (gaat om steeds dezelfde cel op verschillende sheets) op een specifieke plek in een bestaand Word document.
Wie kan mij helpen?

Jonathan
 
Je zal wel duidelijker moeten zijn in je vraagstelling.
Want wat is een specifieke plek?
Een bepaalde pagina? Een regelnummer? Een teken positie? een invulveld met een bepaalde naam?
Allemaal mogelijkheden.
Laast dus zien wat je precies wilt doen.
 
Vba excel cel kopieren naar Word

Hoi,

Ik ben opzoek naar een VBA code voor het kopiëren van een excel waarde in een Word document.
Kan hier nergens een code voor vinden.

Wie kan me helpen?

Jonathan
 
Als de informatie uit een vaste cel komt, kun je simpel een koppeling maken met die cel, en die verwijzing dan herhalen in Word. Heb je geen VBA voor nodig.
 
Ja dat kan indien je plakken speciaal gebruikt.
Echter gebruik ik reeds een vba code om het document in Excel op te roepen.

Het is de bedoeling dat in het gemaakte sjabloon bij bv Naam: de naam uit de Excel cel wordt gehaald en daar gekopieerd met koppeling van bronbestand.
 
Ik zie dat je nieuw bent op het forum, en de forum regels duidelijk nog niet gelezen hebt :). Je hebt de vraag ook in het VBA forum gesteld, en dat hoort niet (lees: mag niet), dat is cross-posting. Stel je vraag in één forum en verzamel dáár je antwoorden. Dit om te voorkomen dat verschillende mensen hetzelfde antwoord voor je gaan verzinnen. Je wilt toch niet dat mensen hun tijd verkwanselen aan het verzinnen van oplossingen die je allang hebt gekregen?
 
Even ter verduidelijking:

Vanuit onderstaande code:

Code:
Sub Test()
    Dim wrdApp As Object
    Dim wrdDoc As Object
    Dim Taal As String
    
    Dim Hoofdpad As String
    Dim Zinnetje As String
    
    Taal = UCase(Range("B11"))
    If Taal = "" Then
        MsgBox "Taal ontbreekt!", vbCritical, "Vul een taal in"
        Exit Sub
    End If
    
    Hoofdpad = "C:\Users\Jonathan\Documents\test"
    
    Set wrdApp = CreateObject(Class:="Word.Application")
    Set wrdDoc = wrdApp.Documents.Open(Filename:=Hoofdpad & Taal & "\intake_" & Taal & ".dotx")
    
    Select Case Taal
        Case "NEDERLANDS":  Zinnetje = "Dit is gemaakt vanuit Excel en komt in zicht!"
        Case "ENGELS":      Zinnetje = "This is made from Excel and comes into view!"
        Case "FRANS":       Zinnetje = "This is made from Excel and comes into view!"
    End Select
    
    
    wrdDoc.Range.InsertAfter Zinnetje
    wrdApp.Visible = True
    wrdApp.WindowState = 1
    wrdApp.Activate
End Sub

Wil ik de waarde van vb cel B2 in een word document zetten zoals op de foto hieronder:

screenshot.png

Het gaat hier om een tabel.

Hoe kan ik dit in bovenstaande code verwerken?
Code:
 
Laatst bewerkt:
Je kan vanuit Word VBA de excel applicatie aanspreken, een werkboek openen en daar de waarde die je nodig hebt naar een variabele copieren en die dan in Word gebruiken. Dan krijg je zoiets als:

Code:
Public Sub CreateNewExcel(strFileName As String)
On Error GoTo Err_CreateNewExcel

    Dim appExcel As Excel.Application
    Dim bksBooks As Excel.Workbooks
    Dim wkbBook As Excel.Workbook
    Dim wksSheet As Excel.Worksheet
      
    Set appExcel = GetObject(, "Excel.Application")
    Set bksBooks = appExcel.Workbooks
    Set wkbBook = bksBooks.Add(strFileName)
    Set wksSheet = wkbBook.Sheets(1)
    wksSheet.Activate

¨...... verdere excel code
 
Code:
Even ter verduidelijking, deze code draai in de excel file:

Vanuit onderstaande code:


Code:
 Sub Test()
 Dim wrdApp As Object
 Dim wrdDoc As Object
 Dim Taal As String

 Dim Hoofdpad As String
 Dim Zinnetje As String

 Taal = UCase(Range("B11"))
 If Taal = "" Then
 MsgBox "Taal ontbreekt!", vbCritical, "Vul een taal in"
 Exit Sub
 End If

 Hoofdpad = "C:\Users\Jonathan\Documents\test"

 Set wrdApp = CreateObject(Class:="Word.Application")
 Set wrdDoc = wrdApp.Documents.Open(Filename:=Hoofdpad & Taal & "\intake_" & Taal & ".dotx")

 Select Case Taal
 Case "NEDERLANDS": Zinnetje = "Dit is gemaakt vanuit Excel en komt in zicht!"
 Case "ENGELS": Zinnetje = "This is made from Excel and comes into view!"
 Case "FRANS": Zinnetje = "This is made from Excel and comes into view!"
 End Select


 wrdDoc.Range.InsertAfter Zinnetje
 wrdApp.Visible = True
 wrdApp.WindowState = 1
 wrdApp.Activate
 End Sub



Wil ik de waarde van vb cel B2 in een word document zetten zoals op de foto hieronder:

Klik op afbeelding voor grotere versie Naam: screenshot.png Bekeken: 2 Grootte: 5,3 KB

Het gaat hier om een tabel.

Hoe kan ik dit in bovenstaande code verwerken?
 
Laatst bewerkt door een moderator:
Wat wij in JAVA gedaan hebben is, overal waar een database waarde moet ingevuld worden in een worddocument de tekst <<Naam Variabele>> (met natuurlijk een unieke variabele naam), je haalt de waarde uit je database en plaatst die in een variabele met dezelfde naam als in de tag. In onze applicatie wordt die uit een Oracle database gehaald, maar het moet ook werken met een waarde die je ophaalt uit excel. je zou bijvoorbeeld de Excel cel dezelfde naam als de variabele in de word tag kunnen geven. Vervolgens kan je in een loop via een Search and replace actie alle tags <<......>> kunnen vervangen door de correcte tekst.
 
Dank je voor het bericht.
Alleen zie ik niet goed in hoe je de data in het word sjabloon krijgt.
Het excel document telt verschillende tabbladen. De data komt telkens uit cel B2 en B3 maar uit verschillende tabbladen.

Kan ik dan een code gebruiken met een string?
En moet ik dit dan als module in excel of word zetten?
 
Doe er eens wat voorbeeld bestanden bij; ik sta (en ik denk ik niet alleen) te popelen om eerst zelf documenten te moeten maken. En probeer bovenstaande code tussen CODE tags ([ CODE ] ervoor, [ /CODE ] erachter zonder de spaties) te zetten, dan ziet de code er beter uit. Om code op te maken met de CODE tag heb je ook de knop #.
 
Je kan de code zowel starten in Word als Excel. Voor de moment heb ik niet echt veel tijd meer, maar ik probeer een voorbeeldje te maken wanneer ik terug wat meer tijd heb.
 
Kijk, en daarom moet je dus nooit in twee subforums dezelfde vraag stellen, want nu gaan mensen onafhankelijk van elkaar een antwoord zoeken, en men leest dus niet wat er al in het andere forum is behandeld.
 
Samengevoegd dan maar. Hoop dat de helpers door de bomen het bos nog zien.
 
Sorry voor mijn late reactie.

In bijlage kan je een voorbeeld vinden.
Wegens privacy reden heb ik de bestanden aangepast.

Het is mijn bedoeling dat de data van de excel dmv van de knop automatisch ingevuld worden in het Word bestand.
De knop roept dmv de reeds geschreven code de juiste taal op. Alleen het invullen van de cel data lukt me niet.

Daar zou ik graag een oplossing voor vinden.
 

Bijlagen

  • Checklist test.docx
    47,9 KB · Weergaven: 84
  • Voorbeeld.xlsm
    26 KB · Weergaven: 76
En wat moet er uit het Excel document waar in het Word document komen?
 
Vb in rij B van de Excel komt naam, achternaam ect.
Dat moet in het word documenten komen achter de tekst Naam, Achternaam, Adres ect.

Snap je?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan