• 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.

In Excel aanvinken welke items te verwerken in MailMerge

Status
Niet open voor verdere reacties.

tonissteiner

Gebruiker
Lid geworden
17 sep 2008
Berichten
352
Hallo,

In het bestand Bekijk bijlage Aanvinken.xlsm zitten een aantal codes waarvan het me niet lukt ze samen te voegen. De code in module 2, waarbij data uit het Excel bestand via mailmerge in Word wordt gezet, werkt zonder probleem. De codes in module 1, gekoppeld aan de knop "Print etiketten", werkt op zicht ook. Let wel op, de code in module 2 zal hier niet werken daar het Word document niet in bijlage hangt.

Wat me niet lukt is de codes uit beide modules te combineren. Maw, ik zou dus via de sub "PrintEtiketten" lijnen willen selecteren die dan naar Word gestuurd worden. Nu worden alle lijnen doorgestuurd. Ik ga ervan uit dat het ergens moet zitten in de lijn:
.MailMerge.OpenDataSource Name:=cDir + ThisFileName, sqlstatement:="SELECT * FROM `Item_Table`"
maar kom er niet uit.

Ziet iemand hier een oplossing voor?

En alvast bedankt voor jullie reacties.

mvg
 
Ik mis het Word document. Kun je dat er ook bij doen?
 
Zal er naar kijken!
 
Alvast bedankt OctaFish,

toch nog een kleine opmerking, die je ongetwijfeld zelf ook wel zou opgelost hebben. Ik was zelf de koppeling tussen Excel en Word nog eens aan het testen en kwam tot de vaststelling dat er in de Excel nog iets juist moest gezet worden. In het VBA venster onder Tools en References moet nog Microsoft Word 15.0 Object Library aangevinkt worden.

Hier in bijlage het document waar ik dit al gedaan heb:

Bekijk bijlage Aanvinken2.xlsm
 
Goede avond,

ben zelf nog wat aan het testen en opzoeken op internet geweest, echter zonder succesvol resultaat.
Hopelijk kunnen jullie me helpen want ik vrees dat ik er alleen niet zal uitkomen, te oordelen naar de uren dat ik er zelf al ingestoken heb ;)

mvg
 
Zou het misschien een oplossing kunnen zijn de niet aangevinkte lijnen tijdelijk te knippen en plakken in een ander gebied/werkblad. En dan de mailmerge uit te voeren en op het einde van de code de lijnen terug te zetten?
Heb zelf al de test gedaan met lijnen te verbergen echter dit werkt dus niet.
Probleem is ook dat ik niet weet hoe aan de code te beginnen voor het tijdelijk knippen en plakken van niet gemarkeerde lijnen...
 
Hallo,

In afwachting dat Octafish misschien een oplossing gevonden heeft ben ik aan het experimenteren geweest met het knippen en plakken in een ander werkblad om dus via een omweg naar het gewenste resultaat te komen. Maar ik loop weer vast. Met onderstaande code lukt het de rijen te selecteren waar geen vinkje staat. En kopiëren van deze rijen lukt, echter bij het plakken wordt alle data onder elkaar gezet in plaats van hun oorspronkelijke rij over te nemen in het andere werkblad. Het knippen lukt totaal niet omdat het blijkbaar over verschillende bereiken gaat. Dat wil zeggen dat na het kopiëren ook het wissen van deze rijen niet lukt.
Ook met deze omweg loop ik dus vast. Zou het volgens jullie een oplossing kunnen zijn het werkblad in zijn geheel te kopiëren, in het een de niet aangevinkte rijen te wissen, voor de mailmerge te gebruiken en dan het gekopieerde blad terug over het originele te zetten?

alvast bedankt voor jullie reacties

Code:
Sub Select_entire_row_from_only_cells_without_value()
'Selecteert de hele rij van alle LEGE cellen in het bereik
    
    Dim LR As Long, cell As Range, rng As Range
    
        With Sheets("StockList")
            
            LR = .Range("B" & Rows.Count).End(xlUp).Row
            For Each cell In .Range("B4:B" & LR)
                If cell.Value <> "ü" Then
                    If rng Is Nothing Then
                    Set rng = cell
                    Else
                    Set rng = Union(rng, cell)
                    End If
                End If
            Next cell
            
            rng.EntireRow.Select
        
        End With

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan