Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [VBA] Ορισμός περιοχών ως περιοχές εκτύπωσης

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 19-07-24, 13:13
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2023
Μηνύματα: 100
Προεπιλογή Ορισμός περιοχών ως περιοχές εκτύπωσης

Καλημέρα σε όλους!
Πιστεύω να είστε καλά!

Στο βιβλίο που επισυνάπτω έχω στο ίδιο φύλλο 7 περιοχές, τις οποίες χρειάζομαι να είναι:
όλες περιοχές εκτύπωσης,
με περιθώρια 0,7 σε όλες τι πλευρές,
να προσαρμόζονται σε όλη τη σελίδα (π.χ. αν στο ύψος έχει προσαρμοστεί και όχι στο πλάτος, θα ρυθμίσω το πλάτος των στηλών χειροκίνητα εξ αρχής, μετά δε θα αλλάζει αυτό, ή αντίστροφα),
με επιλογή μου μέσα από το φύλλο να ορίζεται Landscape ή Portrait

Παρακάτω παραθέτω τον κώδικα για να κάτω τα παραπάνω:

Κώδικας:
Sub PrintPreviewNamedRanges()
    Dim ws As Worksheet
    Dim namedRanges As Variant
    Dim rangeName As Variant
    Dim namedRange As Range
    Dim orientation As XlPageOrientation
    Dim cellValue As String
    
    Set ws = ThisWorkbook.Sheets("Εκτυπώσεις")
    
    namedRanges = Array( _
        Array("Περιοχή1", ws.Cells(84, 9)), _
        Array("Περιοχή2", ws.Cells(85, 9)), _
        Array("Περιοχή3", ws.Cells(86, 9)), _
        Array("Περιοχή4", ws.Cells(87, 9)), _
        Array("Περιοχή5", ws.Cells(88, 9)), _
        Array("Περιοχή6", ws.Cells(89, 9)), _
        Array("Περιοχή7", ws.Cells(90, 9)) _
    )
    
    Application.ScreenUpdating = False
    
    For Each rangeName In namedRanges
        On Error Resume Next
        Set namedRange = ws.Range(rangeName(0))
        On Error GoTo 0
        
        If namedRange Is Nothing Then
            MsgBox "Named range '" & rangeName(0) & "' not found.", vbExclamation
        Else
            ws.PageSetup.printArea = namedRange.Address
            
            cellValue = rangeName(1).Value

            Select Case cellValue
                Case "Portrait"
                    orientation = xlPortrait
                Case "Landscape"
                    orientation = xlLandscape
                Case Else
                    orientation = xlPortrait 
            End Select

            With ws.PageSetup
                .orientation = orientation
                .Zoom = False
                .FitToPagesWide = 1 
                .FitToPagesTall = 1 
                
                .TopMargin = Application.InchesToPoints(0.7)
                .BottomMargin = Application.InchesToPoints(0.7)
                .LeftMargin = Application.InchesToPoints(0.7)
                .RightMargin = Application.InchesToPoints(0.7)
            End With
            
            ws.PrintPreview
        End If
    Next rangeName
    
    Application.ScreenUpdating = True
End Sub
Αυτό που δεν μπορώ να καταφέρω είναι το εξής: αν διαγράψω το ws.PrintPreview από τον κώδικα, παύουν να είναι όλες ορισμένες περιοχές εκτύπωσης.
Μου ανοίγει ενα παράθυρο προεπισκόπισης που εμφανίζει κάθε φορά από μια περιοχή, και για να δω την επόμενη πρέπει να κλείσω το υπάρχον παράθυρο.

Υπάρχει τρόπος να μην υπάρχει αυτό στον κώδικα, να διατηρούνται ως περιοχές εκτύπωσης και οι 7 Περιοχές και να βλέπω την προεπισκόπηση μόνο εάν το επιλέξω εγώ από την προεπισκόπιση και εκτύπωση πάνω από την κορδέλα;

Φυσικά πάντα ευπρόσδεκτες επισημάνσεις, παρατηρήσεις και διορθώσεις!
Σας ευχαριστώ
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Βιβλίο1.xlsx (267,3 KB, 7 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Σύγκριση περιοχών kapetang Excel samples - Χρήσιμα αρχεία & παραδείγματα 8 19-08-16 14:57
Δημιουργία περιοχών με «εμφάνιση» πίνακα. Spirosgr Excel - Tips & Tricks 0 05-09-15 19:57
[Excel07] Άθροισμα δεδομένων & Αυτόματος ορισμός εκτύπωσης rania1984 Excel - Ερωτήσεις / Απαντήσεις 9 23-07-14 22:48
[Excel07] Πρόσθεση κελιών αν ισχύει μια συνθήκη (Σε μη συνεχόμενες περιοχές) Γιώργος Κ. Excel - Ερωτήσεις / Απαντήσεις 11 23-01-13 22:12
[ Φόρμες ] ΟΡΙΣΜΟΣ ΤΙΜΗΣ artchrist73 Access - Ερωτήσεις / Απαντήσεις 5 05-11-11 10:21


Η ώρα είναι 07:50.