• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Excel met filter of iets dergelijks samenvoegen in WORD

Status
Niet open voor verdere reacties.

Johnvdb

Nieuwe gebruiker
Lid geworden
2 okt 2015
Berichten
4
Hallo allemaal,

Ik kon hier op het forum geen antwoord vinden op mijn vraag, maar ik weet ook niet helemaal hoe ik deze moet noemen wat ook moeilijk zoekt. Excuus dus als deze vraag toch al eens behandeld is.

Ik heb een excel bestand met o.a. gegevens van deelnemers, uitslagen van examens en namen/email adressen van contactpersonen.
Daarnaast heb ik een Word document met een brief voor de contactpersonen waarin de uitslagen van de contactpersonen tevoorschijn zouden moeten komen.

Nu kan ik dit wel voor elkaar krijgen wanneer het gaat om één deelnemer. Echter komt het ook voor dat er 5 deelnemers zijn met éénzelfde contactpersoon. In dit geval zou ik in mijn Word document graag een overzicht krijgen van deze 5 deelnemers en hun uitslagen, zodat de contactpersoon een handig overzicht krijgt van alle deelnemers die vanuit deze persoon een examen hebben gedaan.

Er zou dus een soort filter in Word aangebracht moeten worden zodat hij kijkt naar alle deelnemers van één contactpersoon en deze samenbrengt in één document. Het volgende 'Record' zou dan de volgende contactpersoon moeten zijn met één of meerdere deelnemers.

Is dit mogelijk binnen Excel/word?
Mocht mijn vraag nog niet helemaal duidelijk zijn hoor ik het graag, dan probeer ik deze waar nodig nog wat toe te lichten.
 
Ik zit te denken aan een excelmacro die gegevens invoegt in een wordsjabloon met bladwijzers.
Plaats graag representatieve voorbeeldbestanden.
 
Dank je wel voor je reactie (al zo snel) :)
Ik hoop dat de voorbeeldbestanden zo goed doorkomen.

Zoals je in de Excel bestand ziet staan hier 5 deelnemers van twee contactpersonen.
In het Word bestand heb ik een koppeling gemaakt zodat deze uitslag vanuit het Excel bestand hierin komt te staan.
In het Word voorbeeld zou ik nu echter graag 3 personen in dat rijtje zien staan en wanneer ik naar het volgende record ga de andere twee. Op dit moment maakt hij hier 5 aparte records van.


Bekijk bijlage Word-voorbeeld.docx
Bekijk bijlage Excel-voorbeeld.xlsx
 
Bijgaand een VBA-oplossing.
Deze oplossing werkt niet met afdruk samenvoegen in Word, maar wordt gestart vanuit Excel.
In het Word-sjabloon is gebruik gemaakt van lettertype Courier New omdat dit een niet-proportioneel lettertype is (alle letters zijn even breed).
Zet alle bestanden in dezelfde map en run de macro met ALT-F8 -> "tsh".
Per contactpersoon wordt een wordbestand gemaakt.

Code:
Option Explicit

Sub tsh()
    Dim Br As Variant
    Dim oDic As Object, wdDoc As Object
    Dim i As Long
    
    Br = Sheets(1).Cells(1).CurrentRegion
    Set oDic = CreateObject("Scripting.Dictionary")
    For i = 2 To UBound(Br)
        oDic.Item(Br(i, 4) & "|" & Br(i, 5)) = oDic.Item(Br(i, 4) & "|" & Br(i, 5)) & "|" & Br(i, 1) & _
            Space(26 - Len(Br(i, 1))) & Br(i, 2) & Space(19 - Len(Br(i, 2))) & Br(i, 3)
    Next
    Br = oDic.Keys
    
    With CreateObject("Word.Application")
        For i = 0 To UBound(Br)
            Application.StatusBar = "Document " & i + 1 & " van " & UBound(Br) + 1 & " wordt gemaakt."
            Set wdDoc = .Documents.Add(ThisWorkbook.Path & "\Uitslagen.dotx")
            With .Selection
                .Goto -1, Name:="Contact"
                .TypeText Split(Br(i), "|")(0)
                .Goto -1, Name:="Uitslagen"
                .TypeText Replace(Mid(oDic.Item(Br(i)), 2), "|", vbCrLf)
            End With
            wdDoc.SaveAs ThisWorkbook.Path & "\" & Split(Br(i), "|")(0) & ".docx", FileFormat:=12
            wdDoc.Close
        Next
        .Quit
    End With
    Application.StatusBar = False
    Set wdDoc = Nothing
    Set oDic = Nothing
End Sub
 

Bijlagen

  • Uitslagen.zip
    30,2 KB · Weergaven: 137
Wauw! Hier was ik zelf niet uitgekomen zo!
Dank je wel!

Ik weet niet of ik er vandaag nog aan toe ga komen om dit te proberen, maar ik ga dit zeker testen.
 
Als je geen macro's wilt gebruiken, en waarom zou je in dit geval, dan kun je het ook helemaal vanuit Word regelen. Alleen moet je dan wel een beetje met velden durven spelen :). Kijk eens in dit draadje, waarin een oplossing beschreven staat. Het uitgewerkte voorbeeld gaat zelfs tot 3 niveau's diep, maar dat hoeft in jouw geval (gelukkig ;) ) niet.
 
@Octa.
Dat ziet er veelbelovend uit! Kun je het voorbeeld van Johnvdb ook uitwerken?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan