Gegevenslijst samenvoegen met document en alles afdrukken

Status
Niet open voor verdere reacties.

AmaProg

Gebruiker
Lid geworden
10 sep 2012
Berichten
29
Beste,

Ik heb een gegevenslijst van 25 rijen en 6 kolommen die dagelijks verandert en een standaarddocument. De bedoeling is dat deze worden samengevoegd en door één druk op de knop alle standdaarddocumenten worden afgedrukt met telkens een verschillende hoofding opgehaald uit de gegevenslijst waarvan de waarde in de eerste kolom niet leeg is en de waarde in de laatste kolom verschillend is van de codes "RN" of "NR"
Ik had een code bedacht, waarschijnlijk veeeeeeeeeeeel te lang :d en ging ervan uit dat die ook werkte. Bij mijn test werkte ze gedeeltelijk.

Het probleem: De eerste 7 documenten gaat hij perfect afdrukken, daarna drukt hij steeds dezelfde naam af met andere woorden hij loopt de gegevenslijst niet verder af.

Kan dit opgelost worden met een for next of do while en hoe?

Alvast dank.

Code:
Sub Opdracht_Afdrukken_Rapporten_Inkomenden()
'
'   Afdrukken Rapporten Inkomenden
'   Geprogrammeerd door Wim XXXXXXXXXX ©2016
'
ActiveSheet.Unprotect "********"

Dim Antwoord As String

If WS_Rapport_Inkomende.Range("DT2").Value = "NL" Then
    Antwoord = MsgBox("Wenst u alle 'Rapporten Inkomenden' af te drukken?", vbOKCancel, "   Afdrukken")
Else
    If WS_Rapport_Inkomende.Range("DT2").Value = "FR" Then
        Antwoord = MsgBox("Voulez vous imprimer tout les 'Rapports Entrants'?", vbOKCancel, "   Imprimer")
    End If
End If
    
If Antwoord = vbOK Then
    If WS_Rapport_Inkomende.Range("DL9") <> "" And WS_Rapport_Inkomende.Range("FX9") <> "RN" And WS_Rapport_Inkomende.Range("FX9") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL9").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL10") <> "" And WS_Rapport_Inkomende.Range("FX10") <> "RN" And WS_Rapport_Inkomende.Range("FX10") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL10").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL11") <> "" And WS_Rapport_Inkomende.Range("FX11") <> "RN" And WS_Rapport_Inkomende.Range("FX11") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL11").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL12") <> "" And WS_Rapport_Inkomende.Range("FX12") <> "RN" And WS_Rapport_Inkomende.Range("FX12") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL12").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL13") <> "" And WS_Rapport_Inkomende.Range("FX13") <> "RN" And WS_Rapport_Inkomende.Range("FX13") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL13").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL14") <> "" And WS_Rapport_Inkomende.Range("FX14") <> "RN" And WS_Rapport_Inkomende.Range("FX14") <> "NR" Then
        WS_Rapport_Inkomende.Range("H14").Value = WS_Rapport_Inkomende.Range("DL14").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL15") <> "" And WS_Rapport_Inkomende.Range("FX15") <> "RN" And WS_Rapport_Inkomende.Range("FX15") <> "NR" Then
        WS_Rapport_Inkomende.Range("H15").Value = WS_Rapport_Inkomende.Range("DL15").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL16") <> "" And WS_Rapport_Inkomende.Range("FX16") <> "RN" And WS_Rapport_Inkomende.Range("FX16") <> "NR" Then
        WS_Rapport_Inkomende.Range("H16").Value = WS_Rapport_Inkomende.Range("DL16").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL17") <> "" And WS_Rapport_Inkomende.Range("FX17") <> "RN" And WS_Rapport_Inkomende.Range("FX17") <> "NR" Then
        WS_Rapport_Inkomende.Range("H17").Value = WS_Rapport_Inkomende.Range("DL17").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL18") <> "" And WS_Rapport_Inkomende.Range("FX18") <> "RN" And WS_Rapport_Inkomende.Range("FX18") <> "NR" Then
        WS_Rapport_Inkomende.Range("H18").Value = WS_Rapport_Inkomende.Range("DL18").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL19") <> "" And WS_Rapport_Inkomende.Range("FX19") <> "RN" And WS_Rapport_Inkomende.Range("FX19") <> "NR" Then
        WS_Rapport_Inkomende.Range("H19").Value = WS_Rapport_Inkomende.Range("DL19").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL20") <> "" And WS_Rapport_Inkomende.Range("FX20") <> "RN" And WS_Rapport_Inkomende.Range("FX20") <> "NR" Then
        WS_Rapport_Inkomende.Range("H20").Value = WS_Rapport_Inkomende.Range("DL20").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL21") <> "" And WS_Rapport_Inkomende.Range("FX21") <> "RN" And WS_Rapport_Inkomende.Range("FX21") <> "NR" Then
        WS_Rapport_Inkomende.Range("H21").Value = WS_Rapport_Inkomende.Range("DL21").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL22") <> "" And WS_Rapport_Inkomende.Range("FX22") <> "RN" And WS_Rapport_Inkomende.Range("FX22") <> "NR" Then
        WS_Rapport_Inkomende.Range("H22").Value = WS_Rapport_Inkomende.Range("DL22").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL23") <> "" And WS_Rapport_Inkomende.Range("FX23") <> "RN" And WS_Rapport_Inkomende.Range("FX23") <> "NR" Then
        WS_Rapport_Inkomende.Range("H23").Value = WS_Rapport_Inkomende.Range("DL23").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL24") <> "" And WS_Rapport_Inkomende.Range("FX24") <> "RN" And WS_Rapport_Inkomende.Range("FX24") <> "NR" Then
        WS_Rapport_Inkomende.Range("H24").Value = WS_Rapport_Inkomende.Range("DL24").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL25") <> "" And WS_Rapport_Inkomende.Range("FX25") <> "RN" And WS_Rapport_Inkomende.Range("FX25") <> "NR" Then
        WS_Rapport_Inkomende.Range("H25").Value = WS_Rapport_Inkomende.Range("DL25").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL26") <> "" And WS_Rapport_Inkomende.Range("FX26") <> "RN" And WS_Rapport_Inkomende.Range("FX26") <> "NR" Then
        WS_Rapport_Inkomende.Range("H26").Value = WS_Rapport_Inkomende.Range("DL26").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL27") <> "" And WS_Rapport_Inkomende.Range("FX27") <> "RN" And WS_Rapport_Inkomende.Range("FX27") <> "NR" Then
        WS_Rapport_Inkomende.Range("H27").Value = WS_Rapport_Inkomende.Range("DL27").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL28") <> "" And WS_Rapport_Inkomende.Range("FX28") <> "RN" And WS_Rapport_Inkomende.Range("FX28") <> "NR" Then
        WS_Rapport_Inkomende.Range("H28").Value = WS_Rapport_Inkomende.Range("DL28").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL29") <> "" And WS_Rapport_Inkomende.Range("FX29") <> "RN" And WS_Rapport_Inkomende.Range("FX29") <> "NR" Then
        WS_Rapport_Inkomende.Range("H29").Value = WS_Rapport_Inkomende.Range("DL29").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL30") <> "" And WS_Rapport_Inkomende.Range("FX30") <> "RN" And WS_Rapport_Inkomende.Range("FX30") <> "NR" Then
        WS_Rapport_Inkomende.Range("H30").Value = WS_Rapport_Inkomende.Range("DL30").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL31") <> "" And WS_Rapport_Inkomende.Range("FX31") <> "RN" And WS_Rapport_Inkomende.Range("FX31") <> "NR" Then
        WS_Rapport_Inkomende.Range("H31").Value = WS_Rapport_Inkomende.Range("DL31").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL32") <> "" And WS_Rapport_Inkomende.Range("FX32") <> "RN" And WS_Rapport_Inkomende.Range("FX32") <> "NR" Then
        WS_Rapport_Inkomende.Range("H32").Value = WS_Rapport_Inkomende.Range("DL32").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
    
    If WS_Rapport_Inkomende.Range("DL33") <> "" And WS_Rapport_Inkomende.Range("FX33") <> "RN" And WS_Rapport_Inkomende.Range("FX33") <> "NR" Then
        WS_Rapport_Inkomende.Range("H33").Value = WS_Rapport_Inkomende.Range("DL33").Value
        WS_Rapport_Inkomende.PrintOut From:=1, To:=4, Copies:=1, Collate:=True
    End If
End If

ActiveSheet.Protect "********"
'
End Sub
 
Laatst bewerkt:
Zoiets?

Code:
With WS_Rapport_Inkomende
  For j = 9 To 33
    If .Range("DL" & j) <> "" And .Range("FX" & j) <> "RN" And .Range("FX" & j) <> "NR" Then
        .Range("H14").Value = .Range("DL" & j).Value
        .PrintOut 1, 4
    End If
  Next j
End With
 
Vena,

Ik heb het vandaag getest... En het werkt prima...

In mijn code heb ik ook een fout ontdekt vandaar dat hij na de zevende regel niet meer werkte maar jouw versie is stukken korter :thumb:

Merciiiiiiiiiiiiiiii
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan