| Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
| Παράθεση:
Θέλω να χρησιμοποιήσω την εντολή που έχεις φτιάξει στο συγκεκριμένο excel (δείξε / κρύψε ποσοστά) , σε ένα άλλο αρχείο excel. Είναι εύκολη μια βοήθεια; Προσπάθησα αλλά μάταια!!! Ευχαριστώ πολύ |
|
#2
|
|
Έστω σε κάποιο φύλλο, θέλουμε να ανοιγουν και να κλείνουν ορισμένες στήλες. Παράδειγμα, (*βλέπε εικόνα 1), οι στήλες e,g,i...ή όποιες άλλες. Αν πάμε με τον κέρσορα, στο επάνω μέρος μιας στήλης και στην διαχωριστική γραμμή, (με την διπλανή της), ο κέρσορας γίνεται «σταυρός» και αν κάνουμε κλικ, τότε (*βλέπε εικόνα 2) εμφανίζεται το πλάτος της στήλης. Σημειώνουμε το πλάτος (πχ 20,00) και όχι τα pixels... Βάζουμε ένα κουμπί (πχ διάφανο Rectangle *βλέπε εικόνα 3) γράφουμε τι θα κάνει και το συνδέουμε με μια εντολή. Η Εντολή τώρα, στο κλικ του σχήματος: Κώδικας: Sub Rectangle1_Click()
If Sheet1.Columns("e:e").ColumnWidth = 20# And _
Sheet1.Columns("g:g").ColumnWidth = 20# And _
Sheet1.Columns("i:i").ColumnWidth = 20# Then
Sheet1.Columns("e:e").ColumnWidth = 0#
Sheet1.Columns("g:g").ColumnWidth = 0#
Sheet1.Columns("i:i").ColumnWidth = 0#
Else
Sheet1.Columns("e:e").ColumnWidth = 20#
Sheet1.Columns("g:g").ColumnWidth = 20#
Sheet1.Columns("i:i").ColumnWidth = 20#
End If
End Sub
και ταυτόχρονα στο φύλλο Sheet1 (κωδικό όνομα), η στήλη g, έχει πλάτος =Χ και ταυτόχρονα στο φύλλο Sheet1 (κωδικό όνομα), η στήλη i, έχει πλάτος =Χ ... τότε να γίνει μηδέν. Αλλιώς να είναι (το πλάτος όλων των στηλών) =Χ Καλό είναι, οι στήλες να έχουν το ίδιο πλάτος. Παρατηρήσεις: Υπάρχει και καλύτερη μέθοδος όμως....με πιο βελτιωμένο κώδικα, γιατί μπορεί να έχουμε πολλές στήλες που θέλουμε να ανοιγοκλείνουν. Στο βιβλίο που ανέβασα τότε, οι στήλες ήταν μόνο τρείς και δεν ήταν και σκοπός να δείξω αυτό, αλλά τους τύπους ενημέρωσης τιμών... Γράψε μου το φύλλο (κωδικό όνομα) και ποιές στήλες θέλεις να κλείνεις-ανοίγεις να στο στείλω το απόγευμα... |
|
#3
| |||
| |||
|
Σπύρο καλησπέρα, Το φύλλο θα λέγεται monthly price και οι στήλες που θα "ανοιγοκλείνουν" θα είναι: e,g,h,j,k,m,n,p,q,s,t,v,w,y Εφόσον υπάρχει και κάποιος βελτιωμένος κώδικας για απόκρυψη/επανεμφάνιση πολλαπλών στηλών αδημονώ να τον δω στην πράξη (μόνο αν κάτι τέτοιο είναιεφικτό από την πλευρά σου) Ευχαριστώ θερμά, |
|
#4
|
|
Καλησπέρα Στο βιβλίο, υπάρχει μια ρουτίνα, που μας επιτρέπει να εμφανίσουμε και με το ίδιο κουμπί (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 στήλη |
|
#5
| |||
| |||
|
Σπύρο καλησπέρα, Ευχαριστώ και πάλι για την άμεση λύση και πρόταση. Είσαι άψογος πάντα!!! Καλή συνέχεια |
|
#6
| |||
| |||
|
Σπύρο και πάλι τα φώτα σου!!! Έκανα αντιγραφή της καρτέλας στο ίδιο αρχείο, και δεν δουλεύει. Βλέπω ότι ενώ άλλαξα την ονομασία της καρτέλας, κάτι δεν πάει καλά. Σου επισυνάπτω το δείγμα. Σίγουρα κάτι δεν "εκτελώ σωστά" Ευχαριστώ |
|
#7
| |||
| |||
|
Καλησπέρα Και μια άλλη πρόταση. Εφόσον μας ενδιαφέρει μόνο η απόκρυψη και η εμφάνιση συγκεκριμένων στηλών σε ένα φύλλο, δε χρειάζεται να ασχοληθούμε με τη θέση των δεδομένων στο φύλλο. Ο παρακάτω κώδικας κάνει ακριβώς αυτό: Κώδικας: Public Sub HideUnHideCols()
Dim rng As Range
Set rng = Range("e:e,g:h,j:k,m:n,p:q,s:t,v:w,y:y")
rng.EntireColumn.Hidden = Not rng.EntireColumn.Hidden
End Sub
|
|
#8
|
|
Γράφω... «Ο κώδικας, δεν χρειάζεται καμία τροποποίηση ως προς την δομή του, όπου κι αν τον χρησιμοποιήσουμε, αρκεί να βάλουμε μόνο, το κωδικό όνομα του δικού μας φύλλου, στην θέση του Sheet1. (*βλέπε εικόνα) Optional: Αν κάποιος θέλει, μπορεί να το μετατρέψει σε ActiveSheet...» Άρα ή βάζεις το κωδικό όνομα του νέου φύλλου (Sheet2) ή επειδή βλέπω ότι πας να βάλεις φύλλα με μήνες, θα το κάνεις ActiveSheet |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [Συναρτήσεις] Αυτόματη συμπλήρωση κελιού | Παναγιώτης Χρ | Excel - Ερωτήσεις / Απαντήσεις | 0 | 25-03-16 13:38 |
| [Excel07] Συμπλήρωση κελιού με τιμή σε συγκεκριμένο κελί βάσει ημερομηνίας | stam75 | Excel - Ερωτήσεις / Απαντήσεις | 13 | 08-10-15 16:32 |
| [ Φόρμες ] αυτόματη συμπλήρωση | eparast | Access - Ερωτήσεις / Απαντήσεις | 0 | 03-04-14 23:19 |
| Αυτόματη συμπλήρωση τιμής | nafnaki | Access - Ερωτήσεις / Απαντήσεις | 7 | 13-02-13 12:45 |
| [Excel07] Αυτόματη Συμπλήρωση ΑΦΜ | ippotis | Excel - Ερωτήσεις / Απαντήσεις | 2 | 10-02-11 20:14 |
Η ώρα είναι 13:10.



να τον δω στην πράξη (μόνο αν κάτι τέτοιο είναι
Υβριδικός τρόπος

