Εμφάνιση ενός μόνο μηνύματος
  #14  
Παλιά 24-09-18, 17:31
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης 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
Προεπιλογή

Καλησπέρα
Στο βιβλίο, υπάρχει μια ρουτίνα, που μας επιτρέπει να εμφανίσουμε και
με το ίδιο κουμπί (toggle), να κρύψουμε κάποιες στήλες της επιλογής μας.

Ο κώδικας, δεν χρειάζεται καμία τροποποίηση ως προς την δομή του,
όπου κι αν τον χρησιμοποιήσουμε, αρκεί να βάλουμε μόνο,
το κωδικό όνομα του δικού μας φύλλου, στην θέση του Sheet1.
(*βλέπε εικόνα)

Optional:
Αν κάποιος θέλει, μπορεί να το μετατρέψει σε ActiveSheet...

Επιτρέπονται δεδομένα μετά την Υ στήλη
(στο παράδειγμα μας η τελευταία που εμπλέκουμε) ή
και πριν από την Ε (στο παράδειγμα μας η πρώτη που εμπλέκουμε)
Οι τίτλοι και τα δεδομένα, μπορούν να είναι σε οποιαδήποτε γραμμή.

Πως λειτουργεί:
Πάμε στο σημείο
Κώδικας:
        Select Case i
        Case 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25
και βάζουμε, τους αριθμούς στηλών που εμείς θέλουμε να ανοιγοκλείνουν...
με κόμμα ανάμεσα και αυτό είναι όλο...

Βρίσκει αυτόματα, την τελευταία χρησιμοποιούμενη στήλη του φύλλου
και κάνει την εμφάνιση-απόκρυψη, ανάλογα με την επιλογή μας.

Μπορούσαμε να χρησιμοποιήσουμε και άλλες μεθόδους
για την τελευταία στήλη, όπως:
Κώδικας:
lColumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column
ή
Κώδικας:
lColumn = ws.UsedRange.Columns.Count
κλπ
αλλά η Cells.Find(.... θεωρώ ότι είναι η πιο αξιόπιστη απ' όλες και δεν χρειάζεται
ο χρήστης, να προσέξει τίποτα απολύτως, στο που θα βάλει τίτλους, σε ποιά γραμμή κλπ...

Παρατήρηση:
Θα μπορούσε κανείς να πεί, ότι ίσως είναι πλεονασμός να έχουμε
τις γραμμές κώδικα, που ασχολούνται με την τελευταία στήλη,
να τις παραλείψουμε και να πάμε να βάλουμε «καρφωτά» έναν αριθμό εδώ:
Κώδικας:
For i = 1 To 30
με όποιο κίνδυνο μπορεί να έχουμε, από το ξεχνάει ο χρήστης κάθε φορά,
εκτός του να προσθέτει άλλες στήλες στην επιλογή του,
να το αλλάζει και αυτό αν βάζει κι άλλα δεδομένα δεξιότερα...
*να έχει καρφωτά ως τελευταίο το 30 και να θέλει να ανοιγοκλείνει και η 45 στήλη
Συνημμένα Thumbnails
αυτόματη συμπλήρωση και διαμόρφωση κελιού-screenshot_1.jpg  
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm Shift Columns Width.xlsm (28,0 KB, 7 εμφανίσεις)
Απάντηση με παράθεση