Ανανέωση ιστοσελίδας

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 29-07-14, 12:43
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 253
Προεπιλογή PrintPreview

Γεια σας παιδιά,
Θέλω μέσα από μια UserForm μέσω τριών OptionButton να κάνω προεπισκόπηση εκτύπωσης σε τρία φύλλα (φύλλο 1, φύλλο 2, φύλλο 3) το πρόβλημα μου είναι ότι δεν μπορώ να κάνω προεπισκόπηση και στα 3 φύλλα αλλά μέχρι τα δύο! Ανεβάζω συνημμένο για περισσότερη κατανόηση του θέματος.
Ευχαριστώ για όποια βοήθεια.
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm PrintPreview.xlsm (37,2 KB, 59 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 29-07-14, 14:52
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Γιώργο, δοκίμασε τον παρακάτω κώδικα:

Κώδικας:
Private Sub cmdPrintPreview_Click()
    Dim vSheets As Variant
    Dim vPrintAreas As Variant
    Dim vOpButtons As Variant
    Dim i As Long
    
    'Εδώ ορίζονται τα φύλλα εργασίας για προεπισκόπηση
    vSheets = Array("Φύλλο1", "Φύλλο2", "Φύλλο3")
    
    'Εδώ καθορίζουμε τις αντίστοιχες περιοχές εκτύπωσης για κάθε φύλλο
    sPrintArea = Array("$F$6:$L$16", "$F$6:$L$16", "$F$6:$L$16")
    
    'Εδώ καθορίζουμε τα ονόματα των αντίστοιχων Option Buttons
    vOpButtons = Array("OptionButton1", "OptionButton2", "OptionButton3")

    For i = 0 To UBound(vSheets)
        If Me.Controls(vOpButtons(i)).Value Then
            Worksheets(vSheets(i)).PageSetup.PrintArea = sPrintArea(i)
            Me.Hide
            Worksheets(vSheets(i)).PrintPreview
            Me.Show
            Exit For
        End If
    Next
End Sub
Φιλικά/Γιώργος
Απάντηση με παράθεση
  #3  
Παλιά 30-07-14, 08:32
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 253
Προεπιλογή

Καλημέρα Γιώργο,
Σ' Ευχαριστώ για την άμεση απάντηση
Δοκίμασα τον κώδικα και λειτουργεί τέλεια, είμαι εκτός Αθηνών και δεν έχω εκτυπωτή να δω αν με αυτόν τον κώδικα μπορώ να κάνω και εκτυπώσεις ή θέλει συμπληρωματικό κώδικα.

Φιλικά
Γιώργος
Απάντηση με παράθεση
  #4  
Παλιά 30-07-14, 11:36
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα
Μιας και το είχα από παλιά και μια εκδοχή χωρίς Array & Loop με χρήση If.

Κώδικας:
Private Sub cmdPrintPreview_Click()
    Dim PR1 As Range, PR2 As Range, PR3 As Range 'Ορισμός μεταβλητών
    Set PR1 = Sheet1.Range("$F$6:$L$16") ' Set στις περιοχές εκτύπωσης
    Set PR2 = Sheet2.Range("$F$6:$L$16")
    Set PR3 = Sheet3.Range("$F$6:$L$16")

    If OptionButton1 Then ' Αν το κουμπί (είναι true = δεν χρειάζεται) τότε
        Unload Me ' Ξεφόρτωσε ώστε να μην υπάρχει διένεξη
        PR1.PrintPreview ' Κάνε προεπισκόπηση (ή εκτύπωση PrintOut)
    End If
    If OptionButton2 Then ' Επανάληψη όσο χρειάζεται [2]
        Unload Me
        PR2.PrintPreview  'Για εκτύπωση  βάζουμε .PrintOut Copies:=1 
        'και αν θέλουμε Αντικατάσταση =1 με Range("Copies1").Value και μια λίστα 
        'πχ 1 έως 10 για επιλογή αντιγράφων)
    End If
    If OptionButton3 Then ' Επανάληψη όσο χρειάζεται [3]
        Unload Me
        PR3.PrintPreview
    End If
End Sub
Αντικατέστησε τα Sheet1,2,3 με Φύλλο 1,2,..κλπ
Μπορείς να τεστάρεις χωρίς εκτυπωτή ως εξής:
Πάμε Πίνακας ελέγχου > Συσκευές και εκτυπωτές > Microsoft XPS Document Writer
και επιλογή σαν κύριο εκτυπωτή.
Κάνε δοκιμή και θα έχεις ένα "εικονικά" εκτυπωμένο αρχείο στην επιφάνεια εργασίας.
Ξαναβάλε τον εκτυπωτή σου σαν κύριο.
Απάντηση με παράθεση
  #5  
Παλιά 30-07-14, 13:47
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 253
Προεπιλογή

Γεια σου Σπύρο,
Δούλεψε τέλεια!, και είδα και την εκτύπωση μέσω του εκτυπωτή Writer όπως μου υπέδειξες.
Θα ήθελα αν γίνεται μετά την έξοδο από την προεπισκόπηση ή το τέλος της εκτύπωσης,
να εμφανίζεται πάλι η userForm χωρίς να χρειάζεται να πατήσω το πλήκτρο.

Σ' Ευχαριστώ Σπύρο πολλές πολλές φορές για όσα μου έχεις προσφέρει.

Φιλικά
Γιώργος
Απάντηση με παράθεση
  #6  
Παλιά 30-07-14, 18:50
Το avatar του χρήστη Spirosgr
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλησπέρα
Έχεις αυτούς τους 2 κώδικες σε module

Κώδικας:
Sub ShowUserform()
    UserForm1.Show
End Sub

Sub OpenUserform()
    UserForm1.Show
End Sub
Το κουμπί που ανοίγει την φόρμα είναι συνδεμένο με τον (sub OpenUserform) δεύτερο.

Διέγραψε τον πρώτο και βάλε τον τίτλο της sub δηλαδή μόνο το OpenUserform μετά από κάθε PR1.PrintPreview, PR2.PrintPreview και PR3.PrintPreview
και πριν το End If ή
Ακόμα καλύτερα μόνο μια φορά μετά το τελευταίο End If και πριν το End sub.
Απάντηση με παράθεση
  #7  
Παλιά 30-07-14, 19:03
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 14-04-2013
Μηνύματα: 253
Προεπιλογή

Ο.Κ Με την παρεμβολή OpenUserForm δούλεψε μια χαρά
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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



Η ώρα είναι 16:15.