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

Afdrukken instellen en opslaan

Status
Niet open voor verdere reacties.

Sanski

Gebruiker
Lid geworden
28 feb 2011
Berichten
30
Hey,

Ik had nu besloten om nog een extra knopje te maken om automatisch mijn bestand te laten opslaan en ineens het afdrukken goed te plaatsen.

Zo bedoeling ik dat als ik op deze knop druk het bestand op een bepaalde plaats wordt opgeslagen met de juiste benaming die ik uit mijn userform neem (twee textboxen en mss combobox (nog niet zeker) die dan samen een bestandsnaam vormt)

verder zal het excel document naar mijn afdrukvoorbeeld in excel moeten gaan en het blad juist instellen. Hier heb ik dan weer meer problemen mee. Mijn blad is opgebouwd met allemaal kaders onder elkaar geplaatst. Deze kaders worden ingevuld door mijn userform en de niet ingevulde kaders worden door hide verstopt. Mijn blad opbouw gaat er dan ook steeds anders uitzien. Nu is minj probleem dat in mijn afdrukvoorbeeld sommige kaders in twee worden gesplitst omdat ze net nietmeer op het ene blad geraakte, ik wil dus dat er wordt bepaald dat er pas na een kader naar volgende blad gesprongen wordt en er zoveel mogelijk kaders op één blad staan, deze kaders verschillen wel telkens van hoogte. Maar het bladopdelen moet dus altijd automatisch.


tot nu toe heb ik dit geschreven al:

Code:
Sub OpslaanAfdrukken()

    ThisWorkbook.SaveAs "C:\Users\Sander\Testmapje\Checklijsten opslaan" & TxtDossiernummer & Space(1) & TxtKlant & ".xls"
    
    With Sheets("Checklijst").PageSetup
        .PrintArea = "$a$1:$N$132"
        .CenterHorizontally = True
        .FitToPagesWide = 1
        
    End With
    
       

End Sub

het slaagt al op, maar niet met naam hoe ik wil, en maar tot mapje Testmapje, niet meer in het volgende mapje Checklijst Opslaan.

voor rest wil ik dus in het afdrukvoorbeeldscherm belanden, met alles al ingesteld zodat ik alleen nogmaar moet nazien of alles correct staat.

ik werk met een excel 2010, maar op andere computers soms nog met de 2007, kan dit problemen geven?
 
Ik denk dat het zo voldoet: Let op de Rode \

Code:
Sub OpslaanAfdrukken()

ThisWorkbook.SaveAs "C:\Users\Sander\Testmapje\Checklijsten opslaan[B][COLOR="red"]\[/COLOR][/B]" & TxtDossiernummer & Space(1) & TxtKlant & ".xls"
    
    With Sheets("Checklijst").PageSetup
        .PrintArea = "$a$1:$N$132"
        .CenterHorizontally = True
        .FitToPagesWide = 1
        .Printpreview
    End With
End Sub

Cobbe
 
Ik vrees ervoor Cobbe,
had dit ook al veranderd, en hij doet het nog steeds niet
heb nu dit hier staan. krijg direct een foutmelding..

Code:
ThisWorkbook.SaveAs "C:\Users\Sander\Testmapje\Checklijsten opslaan\" & TxtKlant & Space(1) & TxtDossiernummer & ".xls"

ik gok ergens klein dom dingetje :s
maar vindt het niet
 
Heb het gevonden,
is ondertussen dit hier geworden

ThisWorkbook.SaveAs "C:\Users\Sander\testmapje\Checklijsten opslaan\" & [I3] & "-" & [D3] & ".xls"
 
Hey,

het enigste wat ik nu nog moet klaarkrijgen is bepalen vanaf waar het naar blad twee moet springen. voor als het nietmeer op één blad geraakt ..

dit heb ik al
Code:
    With Sheets("Checklijst").PageSetup
        .PrintArea = "$a$1:$N$132"
        .CenterHorizontally = True
        .FitToPagesWide = 1
        
    End With
    
    ActiveSheet.PrintPreview

ik gok dat ik dit mee bij die With sheets moet plaatsen,
aangeven vanwaar het tweede blad moet worden, alleen kan dit elke keer verschillen

het is de bedoeling, heb bv 6 kaders
kader 1 van rij 4 -9
kader 2 van rij 10 - 20
kader 3 van rij 22 - 28
Kader 4 van rij 29 - 34
kader 5 van rij 35 - 42
kader 6 van rij 43 - 49

nu wordt via mijn userform kader 4 verborgen omdat deze niet bruikbaar is, en door het opschrijven zijn de rijen 35 tot 37 van kader 5 op het eerste blad en de rest op het tweede blad. nu wil ik met een code kunne aangeven dat hij voor kader 5 omdat het er niet opgeraakt daar vanaf blad 2 begint. Zodat ik altijd volledige kader heb
 
Hey,

Niemand kan hier helpen precies?
Heb zelf liggen zoeken, en zit met dit hier.
Maar krijg telkens foutmelding en vindt het niet.

Code:
            If Page.break = [A46:A49] Then
                Remove.Page.break
                Set .Page.break = [A45]
            End If

hoe kan ik dit laten werken?
 
Hey,

Niemand kan hier helpen precies?
Heb zelf liggen zoeken, en zit met dit hier.
Maar krijg telkens foutmelding en vindt het niet.

Code:
  With Sheets("Checklijst").PageSetup
        .PrintArea = "$a$1:$N$132"
        .CenterHorizontally = True
        .FitToPagesWide = 1
       ' .Set.Page.break
            If Page.break.[A46:A49] Then
                Remove.Page.break
                Set .Page.break = [A45]
           End If
            

    End With

hoe kan ik dit laten werken?
 
Blijkbaar geen reactie,
maar goed, niet meer nodig denk ik zo
heb liggen zoeken op het internet

gebruik nu volgende code, eerste zicht werkt deze goed
zal hem hier ook mededelen, mss werkt het voor andere ook.

Code:
Sub Pagebreak()
    Dim MyRange As Variant
    Dim LastCellRow As Long
    Dim StartPoint As Range

    ActiveSheet.ResetAllPageBreaks

    LastCellRow = Sheets("Checklijst").Cells(135, 16).End(xlUp).Row
    Set MyRange = Range("P1:P" & LastCellRow)
    Set StartPoint = Range("P1")

    StartPoint.Select

    ActiveCell.Offset(45, 0).Select

    Do While ActiveCell.Row <= LastCellRow
        If ActiveCell.Value = "" Then
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
        ElseIf ActiveCell.Offset(-1, 0).Value = "" And _
            ActiveCell.Offset(1, 0).Value = "" Then
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
        ElseIf ActiveCell.End(xlUp).Offset(-1, 0).Select Then
            If ActiveCell.Value = "" Then
                ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
            ElseIf ActiveCell.End(xlDown).Offset(1, 0).Select Then
                ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
            End If
        End If
        
    ActiveCell.Offset(51, 0).Select
        
        Loop

    StartPoint.Select


    With Sheets("Checklijst").PageSetup
        .PrintArea = "$a$1:$N$132"
        .CenterHorizontally = True
        .FitToPagesWide = 1
            
    End With

    ThisWorkbook.SaveAs "C:\Users\Sander\Testje\Checklijsten opslaan\" & [I3] & "-" & [D3] & ".xls"

    ActiveSheet.PrintPreview

End Sub
 
Oke, na enkele testen ben ik er blijkbaar nog niet helemaal,
en vindt nu niet direct de juiste oplossing.

Mijn code werkt goed, en hij deelt het blad in, alleen worden door mijn userform bepaalde kolommen verborgen, toch worden deze nog meegerekend in mijn printvieuw
hoe kan ik dit voorkomen? dat verborgen rijen niet mee gerekend worden?

grt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan