verplaatsen van rij, printbereik van doelsheet aanpassen

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Beste forumleden,

Ik gebruik onderstaande code om een regel naar een ander tabblad (in dit geval "Crisis") te verplaatsen en tegelijkertijd de rij van de sheet waarop gewerkt wordt te verwijderen.
Sub Crisis()
ActiveCell.EntireRow.Cut Sheets("Crisis").Cells(Rows.Count, 2).End(xlUp).Offset(1, -1)
ActiveCell.EntireRow.Delete
End Sub

Graag zou ik met de Sub_Crisis ook het printbereik van de sheets("Crisis") alwaar de regel heen wordt gekopieerd aanpassen. Ik had onderstaande toevoeging aan bovenstaande in gedachten maar het lukt niet. Wie heeft er een aanwijzing om tot een oplossing te komen?
Sub Crisis()
Dim lLaatsteRegel As Long
lLaatsteRegel = Range("A" & Rows.Count).End(xlUp).Row

ActiveCell.EntireRow.Cut Sheets("Crisis").Cells(Rows.Count, 2).End(xlUp).Offset(1, -1)
Sheets("Crisis").PageSetup.PrintArea = Range("A1:L" & lLaatsteRegel).Address(1, 1)
ActiveCell.EntireRow.Delete
end sub

Gr jackfish
 
dan lijkt me dit voldoende (zie de hulpbestanden in de VBEditor)

Code:
Sub Crisis()
   ActiveCell.EntireRow.Cut Sheets("Crisis").Cells(Rows.Count, 2).End(xlUp).Offset(1, -1)
   sheets("Crisis").pagesetup.printarea=sheets("crisis").cells(1).currentregion.address
End Sub
 
Als ik de code goed begrijp dan selecteer je op sheet "Crisis" de cel "A1" en met currentregion.adress het aantal rijen en kolommen (het afdrukbereik) dat in gebruik is. Excel laat echter zien dat de code van snb alleen cel "A1" in het afdrukbereik opneemt. jackfish
 
Dan heeft cel A1 geen aansluitende kolommen of rijen want anders werkt dit perfect hoor.
 
Dat is ook zo, de sheet begint met een titel! Op welke manier kan ik dan het beste het bereik weergeven? gr jackfish
 
Bv. zoiets. neem voor "A" een kolomletter waarvan je weet dat die op elke rij gaat/moet ingevuld worden.

Code:
Sub Crisis()

    Dim lLaatsteRegel As Long
    With Sheets("crisis")
        lLaatsteRegel = .Range("A" & Rows.Count).End(xlUp).Row
        .PageSetup.PrintArea = .Range("A1:L" & lLaatsteRegel).Address
    End With
    
End Sub
 
Werkt perfect Warme bakkertje en snb. Ik zie wat de codes doen en ben weer een beetje verder. Bedankt voor de reacties! jackfish
 
als je een voorbeeld van je werkblad had geplaatst waren we senller klaar geweest.

Dit werkt waarschijnlijk ook:

Code:
Sub Crisis()
   ActiveCell.EntireRow.Cut Sheets("Crisis").Cells(Rows.Count, 2).End(xlUp).Offset(1, -1)
   sheets("Crisis").pagesetup.printarea=sheets("crisis").cells(1).resize(5,5).currentregion.address
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan