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

Meeschuivend afdrukbereik

Status
Niet open voor verdere reacties.

jheesterbeek

Gebruiker
Lid geworden
26 jan 2005
Berichten
474
Hoi,

Ik heb een file met daarin de afzetgegevens van 2005 per week. Iedere week wordt de afgelopen week gevuld. Met behulp van dit forum :) heb ik een meeschuivende grafiek toegevoegd (http://www.peltiertech.com/Excel/Charts/DynamicColumnChart1.html) om de stand van zaken grafisch weer te geven.
Iedere week rapporteer ik hiermee de laatste twaalf weken. Is het ook mogelijk om een meeschuivend afdrukbereik in dit bestand te zetten?

John
 
Laatst bewerkt:
Dit lijkt me heel makkelijk zelfs, alleen heb ik het nooit geprobeerd met grafieken. Je kan zelf bepalen welke cellen je afdrukt door de cellen te selecteren en in het menu van afdrukken te kiezen voor de selectie.
 
Dat is inderdaad zo...:D
Maar wat ik wil is dat het afdrukbereik afhankelijk wordt van het aantal gevulde cellen. De laatste week wordt bepaald door de meest rechts gevulde cel onder een weeknummer. Dit is de ene kant van het afdrukbereik, twaalf cellen naar links is de andere kant van het afdrukbereik.
Om mijn leven eenvoudig te maken (zodat ik niet wekelijks opnieuw het afdrukbereik hoef te bepalen op meedere tabbalden) zou ik graag zien dat het afdrukbereik zich automatisch meebeweegd op basis van de gevulde cellen
Hopelijk maakt dit de vraag iets duidelijker
 
Ok sorry, ik had al meerdere macro vragen van je gezien en dacht dat je er al voleerd mee was. Denk dat wanneer je deze code ziet je wel begrijpt wat er gebeurt.

Code:
Sub afdrukbereik()
'Wat ik ga doen is eerst naar de regel gaan waar ik
'kan zien hoeveel weken er zijn door constant een naar
'rechts te gaan net zo lang tot ik een lege cel tegen kom

'Vervolgens bewaar ik de positie. Dit doe ik om je de
'mogelijkheid te geven ook rijen er boven en er onder
'te selecteren.

'dit moet de regel zijn die als maar doorloopt in mijn
'voorbeeld B1
  Range("B1").Select
'zolang hij nog niet leeg is opschuiven
  While ActiveCell.Value <> ""
    ActiveCell.Offset(0, 1).Select
  Wend
'we zitten nu eigenlijk 1 cel te veel naar rechts, want hij is al leeg.
'dus we schuiven er 1 terug en slaan het nummer van deze kolom op.
  ActiveCell.Offset(0, -1).Select
  
'ook al hebben bij ons de kolommen letters, excel zal ons het getal van de kolom teruggeven
  Dim kolom As Integer
  kolom = ActiveCell.Column
  
'Ook weet ik al dat je de laatste 12 weken wil tonen dus ik maak een variabele met deze 12
'weken aan, mocht je ooit een verandering willen weet je waar je dit kan doen.
  Dim aantalweken As Integer
  aantalweken = 12
  
'Nu moet ik nog weten op welke rij het afdrukken moet beginnen. Wellicht in de eerste rij
'zeg maar D1 en ik moet ook de laatste rij weten, bijvoorbeeld T20.
  Dim eersterij As Integer
  Dim laatsterij As Integer
  eersterij = 1
  laatsterij = 10
  
'Ik ga nu terug naar de cel A1, vanaf cel A1 weet ik dat ik EERSTERIJ -1 cellen naar benden
'moet tot en met LAATSTERIJ -1. Ook weet ik dat dit is vanaf onze opgeslagen kolom -1 naar rechts
'tot en met dat kolom -(aantalweken + 1) is. Van deze cellen maak ik een selectie en kan ik de
'printer opdracht geven deze cellen uit te printen
  Range("A1").Select
  'je krijgt nu iets te zien als Range("$D$1:$T$10).Select, dus laat je niet afschrikken
  Range(ActiveCell.Offset(eersterij - 1, (kolom - aantalweken - 1)).Address + ":" + ActiveCell.Offset(laatsterij - 1, (kolom - 1)).Address).Select
  
'Deze code zal je printer aansturen en pakt je standaard printer. Natuurlijk kan je dit ook
'weglaten
  Selection.PrintOut Copies:=1, collate:=True
End Sub
 
Deze macro maakt een afdruk van alle gebruikte cellen op het active werkblad.

Sub Afdrukken()
ActiveSheet.UsedRange.Select
Selection.PrintPreview 'PrintOut
'Je krijgt nu een Afdrukvoorbeeld om te testen
'Wil je afdrukken: verander PrintPreview in PrintOut
End Sub
 
Bedankt voor jullie feedback, ik ga het zeker (ook) zo proberen maar..
Is het ook mogelijk zonder macro's?
(dat vond ik net zo mooi aan het grafiekvoorbeeld, je maakt gebruik van de standaard excel mogelijkheden)
 
Hmm ik heb nog wat verder gezocht. Wat je kan proberen is om iets via pagina instellingen, tabblad blad een ding aan te zetten, maar het is mij niet gelukt in elk geval.
 
Ik ben eruit!
Bij het maken van een afdrukbereik wordt een naam gegeven aan een bepaald bereik. Door de geselcteerde range te vervangen door een formule wordt het afdrukbereik variabel.
Met onderstaande formule geef ik het hele sheet op en filter hieruit de laatste 12 gevulde kolommen.
=VERSCHUIVING(Afzet!$D$1:$BC$116;0;AANTAL.ALS(Afzet!$D$4:$BC$4;"<>0")-12;116;12)

Bedankt voor het meedenken

John
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan