Exporteren naar WORD

Status
Niet open voor verdere reacties.

Excelvbas01

Gebruiker
Lid geworden
7 apr 2020
Berichten
115
Hallo Allen,
Ik wil graag gegevens van excel naar WORD exporteren maar wel in een bepaalde format.
De gegeven die ik wil esporten staan in tabblad Data en het format hoe het eruit moet zien heb ik in tabblad WORD geplaats.
Ik kom er helaas niet uit. Ik hoop dat iemand weet hoe ik dat moet doen.
 

Bijlagen

  • Register.xlsm
    33,2 KB · Weergaven: 18
En wat is precies de bedoeling? Ik zie geen logica namelijk. Ik heb liever dat je in Word​ laat zien wat je bedoelt.
 
Hoezo? Als je wilt samenvoegen met Word en Excel kun je de vraag in beide subforums stellen (niet tegelijkertijd ;)). Krijg je vermoedelijk van dezelfde mensen antwoord.

Dus leg om te beginnen eens uit wat je nu precies wilt, en dan komen we wellicht alsnog uit bij een van de opties van Afdruk Samenvoegen.
 
Wat ik wil is dat ik met behulp van een knop geselecteerde rijen naar word exporteer. Het moet wel aan het format voldoen zoals in word is aangegeven.Eind product is een soort visitekaartjes in WORD document.
Hopelijk is dit wat duidelijker….
 
Niet echt… maar het woord ‘visitekaartjes’ is redelijk bruikbaar als oplossing. In Word termen moet je dan denken aan etiketten, die je baseert ofwel op een bestaand etiketten sjabloon in Word, ofwel zelf aanmaakt voor gebruik.

We hebben het dan inderdaad over Afdruk Samenvoegen, op basis dus van een etiketten sjabloon. Daarbij maak je in de procedure één etiket op met de juiste velden/teksten, en die kopieer je dan naar de overige etiketten. Het hele proces kun je met een Wizard uitvoeren. Je gebruikt dus je Excel blad als bron voor de gegevens.

Één ding moet je nog wel weten: bij samenvoegen tussen Word en Excel gebruik je altijd de kale gegevens. Dus alle opmaak die je in Excel op de cellen hebt gezet, raak je kwijt in Word. Je zult dus de samenvoegvelden de juiste opmaak moeten geven. Maar dat is verder goed te doen.

En nog iets: het idee om geselecteerde rijen te gebruiken die je ‘met een knop’ exporteert, moet je ook vergeten. Gaat niet werken; in een samenvoegdocument koppel je met het hele gegevensgebied. Als je al bepaalde rijen wilt gebruiken en andere rijen niet, dan moet je die selectie in Word maken bij het samenvoegen. Bijvoorbeeld door een extra kolom in het Excel blad te maken waarin je het selectiecriterium aangeeft.
 
Met een macro:
 

Bijlagen

  • Register AH.xlsm
    37,8 KB · Weergaven: 13
En waarom zou je dat in hemelsnaam gaan programmeren als je het gewoon met standaard functionaliteit kan oplossen, zoals ik al aan heb gegeven?
Ik heb in je oorspronkelijke bestand een tabel gemaakt van je data, want bij mijn eerste uitdraai had ik zo'n honderd lege etiketten. Dacht eerst dat ik zelf een fout had gemaakt (komt niet vaak voor, de laatste keer was geloof ik in 1982) maar het bleek dus dat je een hoop lege rijen in je werkblad hebt gebruikt, die dan door de data worden herkend. Die zijn er in het Word bestand uitgefilterd.

Als je het document Visitekaartjes.docx opent, zul je waarschijnlijk wel de gegevens opnieuw moeten koppelen, want die staan nu natuurlijk op mijn pad, en niet op jouw locatie. Maar dan werkt het gewoon prima.
 

Bijlagen

  • Visitekaartje.docx
    20,3 KB · Weergaven: 12
  • Visitekaartjes uitgedraaid.docx
    19,5 KB · Weergaven: 8
  • Register.xlsm
    33,2 KB · Weergaven: 13
OctaFish bedankt voor de moeite en tijd. Ik heb jouw idee gerpobeerd maar is niet helemaal wat ik in gedachten heb.

Ahulpje heeft een voorzetje gegeven en dat is wat ik wil. Ik moet het alleen nog hier en daar aanpassen.
 
Leg eens uit wat je dan anders wilt? Want het heet hier HelpMij; niet MaakVoorMij :). Dus ik leg je de techniek uit, en de volgende fase mag je zelf doen. Tot je daar dan niet uit komt, dan help ik uiteraard weer verder. Voor zover ik kan zien, is mijn oplossing beter omdat die de kaartjes netjex bij elkaar houdt. Het systeem van AH laat rustig kaarjtes over twee pagina's lopen. Dat zou toch niet mogen, lijkt mij. Ik zou altijd voor de bedrdijfszekere​ oplossing gaan...
 
Ik heb iets gewijzigd in mijn verzoek. Ik wil via userform gegevens wegschrijven naar tabblad "WORD1".
Ik heb een voorbeeld gemaakt hoe ik t zou willen.
Met spingbutton navigeer je naar het volgende rij en die gegevens komen onder de vorig in tabblad Word1.
Tussen elke vistekaartje komt een lege rij.

Gegevens (visitekaartjes) komen dus onder elkaar.
 

Bijlagen

  • Register AH.xlsm
    50,1 KB · Weergaven: 5
Dan krijg je zoiets:

Code:
Private Sub CommandButton3_Click()
Dim LastRow As Integer
Const intColor As Long = 13998939
Dim sht As Worksheet


    Set sht = Sheets("Word1")
    sht.Activate
    LastRow = sht.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row + 2
    If MsgBox("Wijzigingen doorvoeren ?", vbYesNo, "Wijziging") = vbYes Then
        x = SpinButton1.Value
        With sht
            With .Cells(LastRow, 1)
                .Value = "Naam"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow, 3)
                .Value = "Voornaam"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 1, 1)
                .Value = "Geb. Datum"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 1, 3)
                .Value = "Geslacht"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 2, 1)
                .Value = "Email"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 2, 3)
                .Value = "Mobiel"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 3, 1)
                .Value = "Adres"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 4, 1)
                .Value = "Nummer"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 5, 1)
                .Value = "Foto"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            With .Cells(LastRow + 6, 1)
                .Value = "Tes"
                .Interior.Color = intColor
                .Font.Color = vbWhite
            End With
            .Cells(LastRow, 2).Value = txtNaam.Text
            .Cells(LastRow, 4).Value = txtVoornaam.Text
            .Cells(LastRow + 1, 2).Value = txtgeb.Text
            .Cells(LastRow + 1, 4).Value = txtGesl.Text
            .Cells(LastRow + 2, 2).Value = txtEmail.Text
            .Cells(LastRow + 2, 4).Value = txtMobiel.Text
            .Cells(LastRow + 3, 2).Value = txtAdres.Text
            .Cells(LastRow + 4, 2).Value = txtNo.Text
            .Cells(LastRow + 5, 2).Value = txtFoto.Text
            .Cells(LastRow + 6, 2).Value = txtTekst.Text
        End With
    End If
End Sub

Geen idee wat je overigens met die spinbutton waarde moet...
 
Ik vraag me af of het volgende mogelijk is.
Ik heb zitten zoeken geen oplossing kunnen vinden. Maar misschien kan hier de oplossingt vinden.
Ik heb twee textboxen toegevoegd en die kan ik met checkboxen verbergen.
De bedoeling is om alleen zichbare texboxten weg te schrijven en wanneer een teksbox verborgen is niet meenemen in de code.

alvast bedankt.
 

Bijlagen

  • Register AH.xlsm
    55,7 KB · Weergaven: 6
Zo:
Code:
            If Me.CheckBox1 Then
                With .Cells(LastRow + 7, 1)
                    .Value = "Text1"
                    .Interior.Color = intColor
                    .Font.Color = vbWhite
                End With
                .Cells(LastRow + 7, 2).Value = txtTekst.Text
            End If
Idem voor de andere CheckBox.
 
Dank je AHulpje.
Het wekt prima.
Ik kwam een ding tegen. Als ik een chekbox overslaan dan komt er een lege regel tussen de tekst.
Zie bijlage.
Ik kan dit later handmatig verwijderen maar als dit via VBA geregeld kan worden dan is het helemaa top.


xxx.png
 
Code beetje ingekort en aangepast.
 

Bijlagen

  • Register AH.xlsm
    53,4 KB · Weergaven: 12
En dan te bedenken dat je het hele probleem, inclusief die lege rijen, niet hebt als je het zonder te programmeren in Word had gedaan, zoals ik al Joost mag weten hoeveel berichten geleden had aangegeven :). Maar ja, als het super ingewikkeld kan, waarom zou je het dan op de simpelste manier oplossen? :d.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan