Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Ταξινόμηση σε κλειδωμένο φύλλο (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/2642-taksinomisi-se-kleidomeno-fillo.html)

Free_Ghost 10-08-13 08:37

Ταξινόμηση σε κλειδωμένο φύλλο
 
Φίλοι μου διάβασα αρκετά για ταξινόμηση σε κλειδωμένο φύλλο μέσα στο Forum αλλά δεν κατάφερα να τα εφαρμόσω στο φύλλο μου.

Βασικά έχω βάλει την αυτόματη ταξινόμηση και προσπαθώ να το κλειδώσω μόνο και μόνο για αποφυγή σβησίματος κάποιου τύπου, με το που κλειδώνω δεν δουλεύει υπάρχει κάποια λύση (σχετικά απλή) ώστε να ταξινομούνται αυτόματα με αύξουσα σειρά ανάλογα το αποτέλεσμα μιας στήλης.:sad:

Spirosgr 10-08-13 14:51

1 Συνημμένο(α)
Καλησπέρα
Στο Sheet1 του βιβλίου έχουμε έναν πίνακα του οποίου η 5η στήλη έχει τύπους και είναι κλειδωμένη για να αποφύγουμε ατυχήματα.
Θέλουμε να ταξινομήσουμε αυτόματα τον πίνακα κατά την στήλη 3 (κατά ημερομηνία)
Επιλέγουμε το τελευταίο αριστερά και κάτω κελί (με το Name11) και το "τραβάμε" κάτω μία γραμμή για να εισαχθεί η νέα γραμμή.
Εισάγουμε όλα τα στοιχεία που θέλουμε.

Ο κώδικας ταξινομεί αυτόματα κάθε νέα εγγραφή στην στήλη 3 και οι τύποι εισάγονται άσχετα αν η στήλη τους είναι κλειδωμένη.
Δεξί κλικ στο Tab του φύλλου και View Code για να δούμε τον κώδικα (στο Change του φύλλου)

Free_Ghost 10-08-13 17:11

1 Συνημμένο(α)
Δυστυχώς Σπύρο δεν μπόρεσα να το καταφέρω.

Σου στέλνω ένα δείγμα του αρχείου για να καταλάβεις καλύτερα τη εννοώ, βασικά με ενδιαφέρει στο φύλλο βαθμολογία να μπορώ να τα ταξινομήσω με τους τελικούς πόντους, δεν ξέρω εάν γίνεται και για άλλες στήλες.

Τώρα είναι κλειδωμένο με τον κωδικό 1

Spirosgr 10-08-13 19:03

1 Συνημμένο(α)
Εξακολουθώ να μην καταλαβαίνω γιατί με τέτοια εργαλεία (2010) πολλοί φίλοι συνεχίζουν να εργάζονται όπως το 2003
Ακόμα θα πρέπει να πω ότι δεν μπορώ να καταλάβω πόσες φορές πρέπει να πούμε για τα συγχωνευμένα κελιά :032:
Παιδιά δεν δουλεύει η VBA και πολλά άλλα πράγματα σωστά......κατανοήστε το
Γιατί δεν χρησιμοποιείται πίνακες ......;

Φίλε Χρήστο
Γιατί πρέπει να είναι το Ο Ν Ο Μ Α ΤΕ ΠΩ Ν Υ Μ Ο κεφαλίδα με κεφαλαία και κενά ανάμεσα και όλο αυτό σε συγχωνευμένα κελιά;
Στο πρότυπο που σου ανέβασα έκανα μια προσπάθεια να το "μαζέψω"
Στο ίδιο μοτίβο με τις ΑΙΤΗΣΕΙΣ κάνε και το φύλλο ΒΑΘΜΟΛΟΓΙΑ
και πέρασε όσους τύπους πρέπει όπου πρέπει
Μετά ανέβασε το να σου πω πως θα γίνει η ταξινόμηση παιχνίδι

Free_Ghost 11-08-13 19:38

Σπύρο δυστυχώς δεν ήξερα ότι υπάρχουν τέτοια κόλπα μια και δεν είχα ασχοληθεί με τα ενδότερα του excel, όσον αφορά τους πίνακες δεν προλάβαινα να κάνω τέτοιες αλλαγές μια και έπρεπε να παραδώσω το αρχείο, πάντως βλέπω πώς έχει αρκετά κόλπα και το excel.
Σπύρο ευχαριστώ που ασχολήθηκες με το πρόβλημα μου, μου άνοιξες τα μάτια για άλλα κόλπα.

Πάνω στο παίδεμα μου με το υπάρχων αρχείο τελικά το κατάφερα.

Η λύση ήταν (Για φίλους που θα αντιμετωπίσουν το ίδιο πρόβλημα) στις Μακροεντολές.

1) Έβγαλα το αυτόματο φίλτρο
2) Πήγα στις Μακροεντολές του είπα καταγραφή (έδωσα συντόμευση για το πληκτρολόγιο)
3) Μάρκαρα όλα τα κελιά και τα ταξινόμησα με τον κλασικό τρόπο
4) Κλικ σε ένα οποιοδήποτε κελί (πάνω αριστερά)
5) Τέλος καταγραφής Μακροεντολής
6) Αποθήκευση.

Κατόπιν κλείδωσα το αρχείο και πατώντας την συντόμευση δούλευε η ταξινόμηση.:013:

Spirosgr 11-08-13 23:36

Καλησπέρα
Η μέθοδος που περιγράφεις δόθηκε στο post #2 Book 1
Γι αυτούς που παρακολουθούν το θέμα και έχουν παρόμοια ζητήματα να λύσουν

Υπόδειγμα του κώδικα που κάνει την ταξινόμηση
όπου Sheet3 το κωδικό όνομα φύλλου
όπου Table4 το όνομα πίνακα
όπου Table4[Final] η προς ταξινόμηση στήλη
'Αν θέλουμε ταξινόμηση από μικρότερο σε μεγαλύτερο να αλλάξει στην σειρά
'Key:=Range("Table4[Final]"), SortOn:=xlSortOnValues, Order:=xlDescending
'το Order:=xlDescending με Order:=xlAscending

Κώδικας:

Sub SortTblDescending()
    Application.ScreenUpdating = False
    Sheet3.ListObjects("Table4").Sort.SortFields.Clear
    Sheet3.ListObjects("Table4").Sort.SortFields.Add _
            Key:=Range("Table4[Final]"), SortOn:=xlSortOnValues, Order:=xlDescending, _
            DataOption:=xlSortNormal
    With Sheet3.ListObjects("Table4").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Ακόμη με αυτές τις γραμμές κώδικα

Κώδικας:

Sub RowAddTbl()
    Application.ScreenUpdating = False
    ActiveSheet.Range("B5").ListObject.ListRows.Add (1)
End Sub

Μπορεί να γίνεται εισαγωγή γραμμών στους πίνακες
όπου B5 το πρώτο αριστερά κελί κάτω από την κεφαλίδα
δηλ. το κελί που αρχίζουν τα κυρίως δεδομένα
όπου (1) σε ποιο σημείο του πίνακα θα εισαχθεί γραμμή
με το 1 αμέσως κάτω από την κεφαλίδα

Και με αυτές τις γραμμές

Κώδικας:

Sub UnemploymentDate()
    Application.ScreenUpdating = False
    Selection.Value = Range("Unemployment").Value
End Sub

σε όποιο κελί επιλέξουμε μπαίνει η ημερομηνία ανεργίας (το κίτρινο κελί σου)
όπου Unemployment η ονομασία του κελιού που περιέχει την ημερομηνία
Μπορείτε να ορίσετε ένα κελί με =TODAY() ως Unemployment και να εισάγετε την σημερινή ημερομηνία
ΥΓ: Τα παραπάνω ισχύουν για Πίνακες και όχι για περιοχές ...εκτός από τον 3 ο κώδικα που ισχύει παντού


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2