Rijen data verspreiden over A4

Status
Niet open voor verdere reacties.

sph

Gebruiker
Lid geworden
21 feb 2014
Berichten
160
Voor mijn werk gebruik ik software waarin ik lijsten kan exporteren.

Dus bepaalde data kan naar een Excel blad worden geëxporteerd.

Nu komen er soms 10 en soms 200 rijen aan data, welke ik per rij bovenaan een horizontaal a4tje wil afdrukken.
Dus evenveel A4tjes als rijen data.

Daarbij wil ik ook elk (liggend) A4tje hebben voorzien van een vooraf bepaalde indeling van tekst en vakken die ik met de pen kan invullen.
Deze zou ik op een tweede tabblad kunnen hebben als "INDELING"

Ik heb een voorbeeld toegevoegd.
Bekijk bijlage data_naar_werkpakket.xlsm

Iemand een idee voor een goede code?
 
Laatst bewerkt:
Goedemorgen,

Ik snap niet helemaal wat je bedoelt, met deze code zet je de info uit tabblad DATA in tabblad INDELING, maar ik denk niet dat dit is wat je zoekt.

Code:
Sub PrintOut()

    Range("A1").CurrentRegion.Select
    Selection.Copy
    Sheets("INDELING").Select
    ActiveSheet.Paste
    Sheets("DATA").Range("C1:C6").Application.CutCopyMode = False
    
End Sub
 
Of bedoel je dit?
Code:
Sub MaakPrintout()
    For i = 1 To Range("A1").CurrentRegion.Rows.Count
        With Sheets("INDELING")
            .Range("A1:D1") = Sheets("DATA").Cells(i, 1).Resize(, 4).Value
            .PrintPreview [COLOR="#008000"]'.PrintOut[/COLOR]
        End With
    Next i
End Sub
 
Laatst bewerkt:
Of.
Code:
Sub hsv()
Dim sv, i As Long
sv = Sheets("data").Cells(1).CurrentRegion
 For i = 1 To UBound(sv)
  With Sheets("indeling")
    .Cells(1).Resize(, 4) = Application.Index(sv, i, 0)
    .PrintPreview 'printout
    .Cells(1).Resize(, 4).ClearContents
  End With
 Next i
End Sub
 
Of zo?
 

Bijlagen

  • data_naar_werkpakket-2.xlsb
    27,5 KB · Weergaven: 50
Het is wat moeilijk uit te leggen.

Ik heb nu met de hand gekopiëerd zoals ik graag via VBA wil laten gebeuren in het bijgevoegde bestand.

Blad1 = data
Blad2 = sjabloon
Blad3 = alle data per blad op een sjabloon geplakt

Bekijk bijlage Kopie van data_naar_werkpakket.xlsm

Wel bedankt voor de moeite en tijd ieg
 
Maar dat past nooit op een A4'tje?
Mijn voorbeeld in #3 print het sjabloon per pagina af met de juiste gegevens.
 
Klopt Edmoor, per rij op Blad1 een apart A4tje.
Als ik bij Blad3 op print druk krijg ik een 'landscape' print.
 
Plak mijn voorbeeld uit #3 achter de knop op Blad1, dan krijg je een apart A4tje per rij.
 
Die had ik gebruikt, maar dan krijg ik per rij een print preview (soms heb ik 300 rijen data = 300 print previews), terwijl ik al een vba print button had toegevoegd in de originele werkmap.

Het is zelfs zo dat ik Blad3 op den duur verberg, en dus via de print button ga werken vanaf blad1.

Het is wel een sjieke oplossing die je hier biedt.
 
Laatst bewerkt:
En wat staat er in commentaar achter die PrintPreview?
 
Dat je direkt kunt printen zonder voorbeschouwing.
Nu is het zo dat ik graag aan het einde van het liedje alle gegevens die ik op papier heb ingevuld weer digitaal wil invoeren in blad 3, om daarna op te slaan.
Zo kan ik dus later alles weer digitaal via een .pdf verzenden.
 
Laatst bewerkt:
Dat is andere functionaliteit dan je originele vraag maar op zich geen probleem.
Werkt het printen nu naar wens?
 
Laatst bewerkt:
Jawel, maar ik wil juist graag in Blad3 die data uit Blad1 op Blad2 hebben, zodat ik de uitgeprinte formulieren daarin digitaal kan verwerken en als pdf kan opslaan.
Wat ik mis is dat in jouw macro Blad3 wordt zoals in mijn voorbeeld in post # 6.
 
Wat ik al zei, dat is andere functionaliteit en kan veel beter worden opgelost dan je voorstelde.
 
Je hebt me al vaker goed geholpen, en nu ook weer. Punt is dat ik echt een Blad3 nodig ben met opgesomd alle data uit Blad1 op sjabloon Blad2.
Complete lijst wordt als .PDF opgeslag en rondgemaild. Dit kan ook anders, dat weet ik, maar is in dit geval de mooiste oplossing.
 
Je hebt voor wat je wilt helemaal geen derde blad nodig.
Je kan beter een userform maken waarin de gegevens uit Blad1 per regel automatisch worden ingevuld.
Dan kan je de resterende gegevens per regel invullen en als je dat hebt gedaan kan je op een knop drukken om per complete regel met aangevulde gegevens het sjabloon per regel als PDF op te slaan en eventueel ook direct te emailen.
In plaats van het genoemde userform zou je ook Blad1 zelf kunnen gebruiken vanaf kolom E.
 
Laatst bewerkt:
Het is toch maar een regel extra code om de gegevens op een verzamelblad te krijgen? Je kan dat derde blad inderdaad beter vullen nadat je de gegevens verwerkt hebt zoals door @edmoor voorgesteld is.

Code:
Sub VenA()
  ar = Sheets("DATA").Cells(1).CurrentRegion
  Sheets("PRINTOUT").Cells.Clear
  With Sheets("INDELING")
    For j = 1 To UBound(ar)
      .Cells(1).Resize(, 4) = Application.Index(ar, j, 0)
      .PrintPreview
      .[A1:D33].Copy Sheets("PRINTOUT").Cells(1).Offset((j - 1) * 33)
    Next j
  End With
End Sub
 
In een ideale situatie werk ik via een userform tijdens mijn werkzaamheden, maar ik zit niet heel de dag op kantoor.

Blad3 print ik uit.
Mijn werkzaamheden duren meestal tussen een week en een maand.
Hier is geen computer aanwezig, is bij de klant, dus vul alle gegevens met een pen in.
Vervolgens ga ik naar kantoor, vul hier de gegevens van papier naar Blad3 in.
Dit blad exporteer ik vervolgens per bladzijde naar een .PDF voor de klant.
 
Laatst bewerkt:
Dat kan, zoals ik al zei, veel makkelijker op Blad1, daar staan de basisgegevens tenslotte al.
Vervolgens kan je daar dan een knop bij maken die de boel aan de hand van het sjabloon naar PDF exporteert en evt. direct per mail verstuurt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan