Variabel afdrukbereik bepalen via VBA

Status
Niet open voor verdere reacties.

Ukkie1964

Gebruiker
Lid geworden
10 okt 2018
Berichten
11
Goedendag,

Ik hoop dat ik mijn probleem goed uitgelegd krijg.
Op onze afdeling worden diverse elektrische componenten vervangen ivm storingen. Wanneer een component vervangen wordt, wordt er een storingsformulier ingevuld. Als er een aantal componenten vervangen zijn worden deze opgestuurd voor reparatie. Om het de reperateur het zo gemakkelijk mogelijk te maken worden de ingevulde storingsformulieren meegestuurd.
Dit formulier werd per storing uitgedraaid, wat tot gevolg had dat er maar een gedeelte van een A4 gebruikt werd. Daarom heb ik nu 3 meldingen per vel gemaakt. Maar de ene keer worden er meer componenten opgestuurd dan de andere keer. Omdat er meerdere mensen deze componenten opsturen wilde ik een knop maken waarin ik het afdrukbereik kan aanpassen aan de aantal in gevulde regels.
In het bijgevoegde voorbeeld wil ik het bereik A1:H110 afdruk via de aangebrachte knop, maar de mogelijkheid moet er ook zijn dat wanneer er meer of minder formulieren ook ingevuld worden ik deze aan kan passen, bijv. naar het bereik van A1:H140.
Via het opnemen van een macro lukt het me wel om een vast bereik te maken, maar ik krijg deze niet aangepast wanneer er meer of minder formulieren zijn.
Ik had het idee om dit via een inputbox te doen, zodat ik het bereik ten alle tijden aan kan passen.
Ik heb al op youtube gekeken en gezocht binnen het forum van helpmij.nl maar ik heb helaas niets gevonden.

Daarom mijn vraag is het wel mogelijk wat ik wil?
 

Bijlagen

  • Map2.xlsm
    21,2 KB · Weergaven: 39
Zoiets?

Code:
Sub VenA()
  Sheets("Printblad").Cells(1).Resize(((Sheets("opslag").Columns(1).SpecialCells(2).Count - 1) * 16) - 2, 8).PrintPreview
End Sub
 
Of zo om je denkwijze van een inputbox te volgen.
 

Bijlagen

  • print variabel bereik.xlsm
    25,4 KB · Weergaven: 23
Goedendag,

Graag wil VenA en Pagadder bedanken voor de aangedragen oplossing.

Ik heb nu gekozen voor de oplossing van Pagadder, omdat ik bij deze oplossing inderdaad het bereik zelf kan ingeven.
Bij de oplossing van VenA krijg ik wel mooi het afdrukvoorbeeld te zien, maar ik kan daar geen ander afdrukbereik kiezen wanneer ik meer of minder componenten heb.


Groetjes Ukkie
 
Dan zou ik beide oplossingen nog maar eens goed bekijken. Het afdrukbereik in mijn code wordt bepaald obv het aantal componenten in het blad opslag dus hoef je helemaal nergens iets in te vullen.
 
Sheets("opslag").Columns(1).SpecialCells(2).Count - 1) ---> telt het aantal ingevulde cellen in de 1e kolom van opslag, in dit geval 9 (=kop+8 getallen)
ieder blok van je is 16 rijen diep en 8 kolommen breed
Dus ja, wordt het afdrukbereik eigenlijk (9-1) * 16 - 2 rijen bij 8 kolommen
 
Goedendag,

Cow18 dank je wel voor het uitleggen van de code. Ik was er zelf ook al een eind mee met het ontleden van de code.
Het klopt inderdaad wat VenA zegt, maar wanneer ik er nog eens 4 regels aan toevoeg bijvoorbeeld dan worden er meer bladen afgedrukt.
Zoals in het eerste voorbeeld had ik 7 componenten op 3 bladen afgedrukt precies zoals ik het wilde.
Voeg ik er bijvoorbeeld 4 componenten aan toe dan krijg ik de 4 componenten wel te zien, maar op 4 bladen ipv op 2 bladen.
De bedoeling was dan dat alleen de 4 componenten afgedrukt zou worden.

Als voorbeeld heb ik er 2 pdf bijgedaan.
Test afdrukken is het bereik zoals in het eerste voorbeeld, zoals het bedoeld is.
Test afdrukken 02 is het bereik na invoering van 4 nieuwe componenten.
 

Bijlagen

  • Test afdrukken 02.pdf
    33,6 KB · Weergaven: 15
  • Test afdrukken.pdf
    32,4 KB · Weergaven: 14
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan