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

Afdruk samenvoegen

Status
Niet open voor verdere reacties.

McMacro

Gebruiker
Lid geworden
11 dec 2009
Berichten
80
Beste Profi-excellers ;),

Ik heb een vraag over afdruk samenvoegen.

Ik zou graag een afdruk willen samenvoegen met gegevens uit Excel naar Word. In Word heb ik een opgemaakt document (sjabloon) waar gegevens moeten komen te staan uit excel uitbepaalde cellen tussen 2 datums.

De afdruk samenvoegen gaat nog wel. Alleen zou ik of in Excel of in het Word-sjabloon een knop moeten hebben waar ik 2 datums (eerste en laatste datum) moet invullen alvorens deze alle gegevens gaat samenvoegen wanneer de datum ook ingevuld is in kolom I.

Ik hoop dat het duidelijk is wat ik bedoel. Ik weet dat een voorbeeldbestand handiger is, maar misschien dat het ergens al kant-en-klaar staat. Via google heb ik niets kunnen vinden wat in de buurt komt van wat ik bedoel en dus ook niet hier op het forum.

Met vriendelijke groet,



McMacro
 
Bijlage toegevoegd

Ik heb een bijlage toegevoegd met een voorbeeld bestandje. Het geeft vooral de werking weer van wat het zou moeten worden.

Iemand een idee?

Met vriendelijke groet,

McMacro
 

Bijlagen

  • Dummy.xls
    41,5 KB · Weergaven: 18
Met uitgebreid filter de gegevens kopieëren naar een tijdelijk werkblad en van daaruit samenvoegen met Word.
 
Bedankt Rudi,

Voor je reactie. Hoe kan ik de cellen kopieëren tusssen de ingvoerde datums en die de status Eind hebben tussen die twee datums? En dan nog eens samenvoegen in één cel op een tijdelijk werkblad?

Met vriendelijke groet,



McMacro
 
Tijdens de merge in Word kun je de gegevens uit Excel filteren, bijv Status="Einde" AND Datum>="2012/12/01" AND Datum<="2012/12/31".
Ik vermoed dat je de oplossing beter in Word kunt zoeken.
 
Beste Rudi en Frans (en alle anderen die meedenken),

Dit is de code die ik hier op het forum vond en al een beetje aangepast naar wat ik graag probeer te bereiken:

Code:
Sub Macro1()

    With Sheets("Blad1")
    Sheets("Blad1").Unprotect
    Range("A6:W500").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets( _
        "Blad5").Range("B2:C2"), CopyToRange:=Sheets("Blad5").Range("A4:W500"), Unique:=True
    End With
    Sheets("Blad1").Protect
    Sheets("Blad5").Select
    
End Sub

Helaas wil het niet echt lukken. Ik werk met Excel 2000 en krijg de melding:

Fout 1004 tijdens uitvoering: Methode AdvancedFilter van klasse Range is mislukt.

In Sheets("Blad1").Range("A6:W500") staat de lijst waaruit gefilterd moet worden.
In Sheets("Blad5").Range("B2:C2") staat de filtercriteria, de twee datums waartussen gekozen moet worden. Deze is vertegenwoordigt op blad1 in kolom ("M"). Hij zou ook op Status moeten controleren in Kolom("W") Deze moet namelijk de status "Einde" hebben voordat deze overgehaald moet worden.

Daarna moet dit alles geplakt/ingevoegd worden op Blad5 vanaf rij 4.

Is dit moeglijk?

Met vriendleijke groet,



McMacro
 
Beste Excellers,

Dit is de eerste stap die goed gaat zoals ik het enigszins graag wil hebben:

Code:
Private Sub CommandButton2_Click()

Dim sBoek As String
Dim iRij As Integer
iRij = ActiveCell.Row
    sBoek = Cells(iRij, 14) & ", " & Cells(iRij, 15) & ", " & Cells(iRij, 16) & " " & Cells(iRij, 17) & " (Dossiernummer: " & Cells(iRij, 2) & " ; Datum Besluit: " & Cells(iRij, 13) & ")"

With Sheets("Blad1")
 Range("Y" & iRij) = sBoek
End With

End Sub

Kunnen jullie hier fouten in voorzien? Waar zouden foutmeldingen kunnen optreden? Wat is de oplossing? On error resume?

En als iemand niet alle cellen van iRij ingevuld heeft kan er dan een messagebox verschijnen die zegt: "Je hebt niet alle gegevns ingevuld. Wil je doorgaan?"

Bij 'Ja' maakt de formule de handeling af en bij 'Nee' wordt de handeling onderbroken en kan men verder met gegevens invullen.

Met vriendelijke groet,

McMacro
 
Code:
Private Sub CommandButton2_Click()
Dim iRij As Integer
With Sheets("Blad1")
iRij = .Range(ActiveCell.Address).Row
    If WorksheetFunction.CountA(Union(.Cells(iRij, 14), .Cells(iRij, 15), .Cells(iRij, 16), .Cells(iRij, 17), .Cells(iRij, 2), .Cells(iRij, 13))) <> 6 Then
        If MsgBox("Niet alle gegevens zijn ingevuld !!" & vbLf & Space(11) & "Wil je toch doorgaan ?", vbYesNo) = vbNo Then Exit Sub
    End If
    .Range("Y" & iRij) = .Cells(iRij, 14) & ", " & .Cells(iRij, 15) & ", " & .Cells(iRij, 16) & " " & .Cells(iRij, 17) & " (Dossiernummer: " & .Cells(iRij, 2) & " ; Datum Besluit: " & .Cells(iRij, 13) & ")"
End With
End Sub

Voor je eerdere vraag is een voorbeeldbestand dat de werkelijke situatie weergeeft wel handig.
 
McMacro,

in post #6 doet pixcel de suggestie om de oplossing in Word te zoeken, maar ik vraag me af of je niet alles binnen Excel kunt afhandelen. Daarvoor zou je de informatie uit het Word sjabloon (een brief?) in een nieuw tabblad op kunnen nemen.
In de bijlage laat ik de gegevens naar Blad2 schrijven
 

Bijlagen

  • Dummy McMacro (hs).xls
    54 KB · Weergaven: 12
Beste Haije & Rudi,

Heel erg bedankt voor jullie moeite.
Op dit moment is het een mix van jullie codes en andere:

Code:
Private Sub CommandButton2_Click()

    Dim iRij As Integer
    Dim Begindatum As Date
    Dim Einddatum As Date

    Status = "Afgehandeld"
    
    Begindatum = InputBox("Geef de begindatum op :")
    Einddatum = InputBox("Geef de einddatum op :")
    
    Type_vergunning = InputBox("Geef type vergunning op :")
    

    Range("W6").Select
    Do While ActiveCell <> ""
    iRij = ActiveSheet.Range(ActiveCell.Address).Row
    If ActiveCell <> Status And ActiveCell <> Type_vergunning Then GoTo verder:
    
    If ActiveCell.Offset(, -10) >= Begindatum And ActiveCell.Offset(, -10) <= Einddatum Then

    Range("Y" & iRij) = Cells(iRij, 14) & ", " & Cells(iRij, 15) & ", " & Cells(iRij, 16) & " " & Cells(iRij, 17) & " (Dossiernummer: " & Cells(iRij, 2) & " ; Datum Besluit: " & Cells(iRij, 13) & ")"

End If

verder:
ActiveCell.Offset(1).Select
Loop

End Sub

Het enige wat hij nu mist is dat nadat de Begindatum en Einddatum en op Status en op Type_vergunning moet zoeken.
Wat nu gebeurd is het volgende de macro voegt alle de cellen samen in kolom Y als de begindatum en einddatum dezelfde Type_vergunning hebben.
Terwijl er ook nog andere type vergunningen tussen staan. Die moeten dus niet overgehaald worden.

Tevens als ik op annuleren klik bij de inputboxen krijg ik een foutmelding. Kan deze ook zonder foutmelding geannuleerd worden?

Hoe zou ik dat kunnen oplossen?

Groetjes,

McMacro
 
Laatst bewerkt:
Op dit moment is dit de code met enige aanpassing:

Code:
Private Sub CommandButton1_Click()
    
    Dim iRij As Integer
    Dim Begindatum As Date
    Dim Einddatum As Date

[COLOR="#FF8C00"][B][I]On Error GoTo canceled[/I][/B][/COLOR]
    Status = "Afgehandeld"
    Begindatum = InputBox("Geef de begindatum op :")
    Einddatum = InputBox("Geef de einddatum op :")
    Type_vergunning = InputBox("Geef type vergunning op :" & vbCr & "[LET OP...!!! Hoofdlettergevoelig]")

    Range("W6").Select
    Do While ActiveCell <> ""
    iRij = ActiveSheet.Range(ActiveCell.Address).Row
    If ActiveCell <> Status Then GoTo verder:
    
    If ActiveCell.Offset(, -10) >= Begindatum And ActiveCell.Offset(, -10) <= Einddatum And ActiveCell.Offset(, -22) = Type_vergunning Then
    
    Range("Y" & iRij) = Cells(iRij, 14) & ", " & Cells(iRij, 15) & ", " & Cells(iRij, 16) & " " & Cells(iRij, 17) & " (Dossiernummer: " & Cells(iRij, 2) & " ; Datum Besluit: " & Cells(iRij, 13) & ")"

End If

verder:
    ActiveCell.Offset(1).Select
    Loop

[COLOR="#FF8C00"][B][I]canceled:[/I][/B][/COLOR]
End Sub


Het enige wat me (nog) niet lukt is de knoppen in te stellen van de inputboxen. Als ik op annuleren klik zou de routine beëindigd moeten worden. Nu krijg ik een foutmelding. En als er niets ingevuld wordt en op ok geklikt wordt krijg ik dezelfde foutmelding.

De vraag is kunnen de annuleren knop ingesteld worden? En kan het zo ingesteld worden dat als er niets ingevuld wordt de routine onderbroken wordt of dat er een messagebox verschijnt "je hebt niets ingevuld" en dat je opnieuw de gelegenheid krijgt iets in te vullen in de desebtreffende inputbox.

Met vriendelijke groet,

McMacro

Probleem opgelost...!!!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan