![]() |
Αυτόματη Ταξινόμηση 1 Συνημμένο(α) Φίλοι του Φόρουμ Καλησπέρα Έχω ένα πρόβλημα όπως θα δείτε στο συνημμένο έγγραφο στην στήλη Α γράφω ονόματα και στην στήλη Β γράφω τον ΑΜΚΑ σε μορφή κειμένου λόγω του 0 και στην στήλη C την τράπεζα του καθενός. Αυτό που θέλω είναι να ταξινομούνται αυτόματα βάση της στήλης Β (ΑΜΚΑ) και οι τρεις στήλες συγχρόνως κάθε φορά που περνάω νέα εγγραφή χωρίς να πηγαίνω να το κάνω χειροκίνητα την ταξινόμηση. Βρήκα στο φόρουμ κάτι ανάλογο του Θανάση στον σύνδεσμο http://www.ms-office.gr/forum/excel-...nartiseis.html αλλά είναι για μία στήλη. Σας ευχαριστώ για τον χρόνο σας. |
ψάχνοντας στις συναρτήσεις βρήκα λύση με βοηθητικές στήλες και με τις συναρτήσεις RANK και VLOOKUP αλλά μόνο όταν είναι αριθμοί μόλις βάζω τους αριθμούς σε μορφή κειμένου δεν δουλεύει. Γι' αυτό τον λόγο θα ήθελα την βοήθειά σας και αν γίνεται φυσικά σε μορφή κειμένου γιατί υπάρχουν ΑΜΚΑ που ξεκινούν από 0..... Σας ευχαριστώ |
Η λύση που είδες, (με τύπους) από τον Θανάση, είναι μια πάρα πολύ καλή τεκμηρίωση του θέματος, αλλά θα έλεγα, ότι είναι περισσότερο ένα post για εκπαίδευση, παρά για εφαρμογή σε κάποιο έργο (κατά την γνώμη μου) διότι έχει κινδύνους, για μη εξοικειωμένους με την Excel χρήστες. Κατ' αρχήν, δεν πρόσεξες, ότι ο Θανάσης δίνει λύση και για ταξινόμηση κειμένου. Η πρότασή μου λοιπόν είναι, να γίνει με κώδικα. Μετονόμασε το κωδικό όνομα φύλλου σε Sh1 Στο φύλλο βάλε τον παρακάτω κώδικα (συμβάν Change) Κώδικας: Option Explicitαφού ολοκληρωθεί η καταχώρηση και στις τρεις στήλες (a, b, c) Σημείωση: Τα σημεία Range("B2:B100"), Range("A2:A100"), Range("A2:C100") ενδεχομένως να χρειάζονται προσαρμογή στο έργο σας. Καθώς και οι γραμμές: If Target.Column <> 3 Then Exit Sub If Target.Row < 2 Then Exit Sub Αυτά εξαρτώνται από το ποιες περιοχές θα ταξινομήσετε αν έχετε κεφαλίδες, γραμμές πάνω από την περιοχή ταξινόμησης και πόσες κλπ. *Ο πιο πάνω κώδικας, αφορά, το συγκεκριμένο έργο - παράδειγμα. |
1 Συνημμένο(α) Φίλοι του Φόρουμ Καλησπέρα. Σπύρο για άλλη μια φορά σε ευχαριστώ πολύ για τον χρόνο σου και την βοήθειά σου αλλά όπως θα δεις στο συνημμένο έγγραφο πρέπει να έκανα σωστά όσο μου είπες αλλά το πρόγραμμα δεν δουλεύει μήπως έχει σχέση με το πρόβλημα που έχει ο υπολογιστής μου όπως αναφέρω στον σύνδεσμό : http://www.ms-office.gr/forum/excel-...anazitisi.html στο οποίο δεν έχω πάρει ακόμα απάντηση. Αν δεν το έχω κάνει σωστά πέσμου πως πρέπει να το κάνω Σε ευχαριστώ πολύ και πάλι. |
Ο κώδικας έχει αντιγραφεί σωστά. Δουλεύει κανονικά. Αν στον υπολογιστή, κάτι δούλευε κανονικά και δεν έγιναν αλλαγές λογισμικού, ρυθμίσεων κλπ τότε μια επαναφορά σε προηγούμενο σημείο πιθανό να έλυνε το πρόβλημα. Θυμήσου τι έχεις κάνει στον υπολογιστή, από την τελευταία φορά που δούλεψε σωστά, μέχρι την πρώτη που δεν δούλεψε. |
Σπύρο καλησπέρα και σε ευχαριστώ :thanks: Παράθεση:
Θα ήθελα να με βοηθήσεις να κάνω Παράθεση:
γιατί μου έχει κόψει τα πόδια.............. Αυτή η βοήθειά σου πιστεύω θα είναι μία από τις μεγαλύτερες που μου έχετε προσφέρει όλοι εσείς οι στυλοβάτες του φόρουμ |
1 Συνημμένο(α) Καλησπέρα στην παρέα Στο συνημμένο αρχείο έκανα κάποιες αλλαγές για να δίνει σωστά αποτελέσματα (δεν ταξινομούσε σωστά την 1η γραμμή των δεδομένων τη θεωρούσε ετκέτα). Σημειώνω ότι ταξινόμηση γίνεται μόνο αν γίνουν αλλαγές στην 3η στήλη των δεδομένων. Φιλικά/Γιώργος |
Γιώργο Η διατύπωση: «Στο συνημμένο αρχείο έκανα κάποιες αλλαγές για να δίνει σωστά αποτελέσματα (δεν ταξινομούσε σωστά την 1η γραμμή των δεδομένων τη θεωρούσε ετκέτα).» «λέει» σε κάποιον, ότι ο κώδικάς μου, είναι λάθος και δίνει λάθος αποτελέσματα και γράφεις τον σωστό και διορθωμένο εσύ. Αν έκανες τον κόπο να διαβάσεις την Σημείωση: ---------------------------------------------------------------------- Σημείωση: Τα σημεία Range("B2:B100"), Range("A2:A100"), Range("A2:C100") ενδεχομένως να χρειάζονται προσαρμογή στο έργο σας. Καθώς και οι γραμμές: If Target.Column <> 3 Then Exit Sub If Target.Row < 2 Then Exit Sub Αυτά εξαρτώνται από το ποιες περιοχές θα ταξινομήσετε αν έχετε κεφαλίδες, γραμμές πάνω από την περιοχή ταξινόμησης και πόσες κλπ. ----------------------------------------------------------------------------------------------------------------------------- δεν θα έπρεπε να απαντήσεις , με αυτήν την διατύπωση. Οι αλλαγές σου δεν είναι τίποτε άλλο από το Range("B2:B100") σε Range("B1") Range("A2:A100") σε Range("A1") και Range("A2:C100") σε Range("A1:C100") που μνημονεύονται στην σημείωση. Στην ουσία για το συγκεκριμένο έργο όπως το έχω θα αρκούσε το .Header = xlNo αντί .Header = xlYes για να μην ταλαιπωρείσαι περισσότερο. Ακόμα το: «Σημειώνω ότι ταξινόμηση γίνεται μόνο αν γίνουν αλλαγές στην 3η στήλη των δεδομένων.» Το αναφέρω εδώ: ---------------------------------------------------------------------------------------------------------------------------- «Τα δεδομένα θα ταξινομηθούν πρώτα κατά Α.Μ.Κ.Α και μετά κατά Ονοματεπώνυμο, αφού ολοκληρωθεί η καταχώρηση και στις τρεις στήλες (a, b, c)» |
Φίλε μου είσαι αρκετά εύθικτος. Δεν είχα καμιά πρόθεση να σε υποτιμήσω. Απλά ο κώδικάς σου δεν ήταν προσαρμοσμένος στο παράδειγμα που είχε επικεφαλίδες. |
Ο κώδικας, είναι παραδειγματικός. Κάθε χρήστης, τον προσαρμόζει στο έργο του, αφού διαβάσει και τις σημειώσεις. Γι' αυτό άλλωστε και δεν ήταν σε κάποιο συνημμένο, αλλά απ' ευθείας στο φόρουμ. |
Δηλαδή δεν έπρεπε να ενημερώσω το Χρήστο ότι δεν έκανε σωστή προσαρμογή; |
Ααα ναι Ok! Μόνο που το πρόβλημα του Χρίστου, δεν είναι η προσαρμογή του κώδικα, αλλά ο υπολογιστής του... |
Η απάντησή σου στο μήνυμα #4 του Χρήστου είναι. «Ο κώδικας έχει αντιγραφεί σωστά. Δουλεύει κανονικά.». Έτσι για να μη μείνει με την εντύπωση ότι προσάρμοσε σωστά τον κώδικα, σκέφτηκα να τον ενημερώσω. Δεν καταλαβαίνω συνεπώς την ειρωνεία «Ααα ναι Ok!». Για μένα το θέμα έκλεισε.Δε σκοπεύω να το συνεχίσω. |
Φίλοι του Φόρουμ καλησπέρα και ευχαριστώ και τους δυό σας για την βοήθειά σας, αλλά δεν μου δώσατε μία λύση στο πρόβλημα που ανέφερα προηγουμένως δηλ. Παράθεση:
Δεν έχω κάνει αλλαγές λογισμικού. Τώρα στις ρυθμίσεις δεν γνωρίζω τι μπορεί να έχω κάνει εκτός από τις ρυθμίσεις μακροεντολών. Θα ήθελα να με βοηθήσεις να κάνω Παράθεση:
πως μπορώ να το κάνω αυτό γιατί μου έχει κόψει τα πόδια.............. Αυτή η βοήθειά σου πιστεύω θα είναι μία από τις μεγαλύτερες που μου έχετε προσφέρει όλοι εσείς οι στυλοβάτες του φόρουμ |
Χρίστο, αυτό το πρόβλημα, δεν λύνεται από μακριά Πρέπει να τα πούμε, να συνδεθούμε και να δω τι γίνεται στην πράξη. |
Φίλοι του φόρουμ Καλημέρα. Σπύρο σε ευχαριστώ πολύ για άλλη μια φορά. Το μεσημέρι που θα πάω στο σπίτι θα προσπαθήσω να κάνω Επαναφορά συστήματος και αν δεν λυθεί τότε ναι θα ήθελα να συνδεθούμε μέσω του προγράμματος (δεν θυμάμαι πως λέγεται & πιστεύω ότι το έχω) για να το δεις. Αν σε περίπτωση δεν το διορθώσω πως θέλεις να συνδεθούμε;;;; Να σε πάρω τηλ ή διαφορετικά Γράψε μου στο email μου Σε ευχαριστώ πολύ-πολύ |
| Η ώρα είναι 15:35. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.