Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Φίλοι του Φόρουμ Καλησπέρα Έχω ένα πρόβλημα όπως θα δείτε στο συνημμένο έγγραφο στην στήλη Α γράφω ονόματα και στην στήλη Β γράφω τον ΑΜΚΑ σε μορφή κειμένου λόγω του 0 και στην στήλη C την τράπεζα του καθενός. Αυτό που θέλω είναι να ταξινομούνται αυτόματα βάση της στήλης Β (ΑΜΚΑ) και οι τρεις στήλες συγχρόνως κάθε φορά που περνάω νέα εγγραφή χωρίς να πηγαίνω να το κάνω χειροκίνητα την ταξινόμηση. Βρήκα στο φόρουμ κάτι ανάλογο του Θανάση στον σύνδεσμο http://www.ms-office.gr/forum/excel-...nartiseis.html αλλά είναι για μία στήλη. Σας ευχαριστώ για τον χρόνο σας. |
#2
| |||
| |||
![]()
ψάχνοντας στις συναρτήσεις βρήκα λύση με βοηθητικές στήλες και με τις συναρτήσεις RANK και VLOOKUP αλλά μόνο όταν είναι αριθμοί μόλις βάζω τους αριθμούς σε μορφή κειμένου δεν δουλεύει. Γι' αυτό τον λόγο θα ήθελα την βοήθειά σας και αν γίνεται φυσικά σε μορφή κειμένου γιατί υπάρχουν ΑΜΚΑ που ξεκινούν από 0..... Σας ευχαριστώ |
#3
|
![]()
Η λύση που είδες, (με τύπους) από τον Θανάση, είναι μια πάρα πολύ καλή τεκμηρίωση του θέματος, αλλά θα έλεγα, ότι είναι περισσότερο ένα post για εκπαίδευση, παρά για εφαρμογή σε κάποιο έργο (κατά την γνώμη μου) διότι έχει κινδύνους, για μη εξοικειωμένους με την Excel χρήστες. Κατ' αρχήν, δεν πρόσεξες, ότι ο Θανάσης δίνει λύση και για ταξινόμηση κειμένου. Η πρότασή μου λοιπόν είναι, να γίνει με κώδικα. Μετονόμασε το κωδικό όνομα φύλλου σε Sh1 Στο φύλλο βάλε τον παρακάτω κώδικα (συμβάν Change) Κώδικας: Option Explicit Dim lRow As Long Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Target.Row < 2 Then Exit Sub If Target.Rows.Count > 1 Then Exit Sub If Target.Columns.Count > 1 Then Exit Sub Application.ScreenUpdating = False Sh1.Sort.SortFields.Clear Sh1.Sort.SortFields.Add Key:=Range("B2:B100"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortTextAsNumbers Sh1.Sort.SortFields.Add Key:=Range("A2:A100"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Sh1.Sort .SetRange Range("A2:C100") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With lRow = Sh1.Cells(Rows.Count, 1).End(xlUp).Row + 1 Sh1.Cells(lRow, 1).Activate End Sub αφού ολοκληρωθεί η καταχώρηση και στις τρεις στήλες (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 Αυτά εξαρτώνται από το ποιες περιοχές θα ταξινομήσετε αν έχετε κεφαλίδες, γραμμές πάνω από την περιοχή ταξινόμησης και πόσες κλπ. *Ο πιο πάνω κώδικας, αφορά, το συγκεκριμένο έργο - παράδειγμα. Τελευταία επεξεργασία από το χρήστη Spirosgr : 25-04-15 στις 17:23. |
#4
| |||
| |||
![]()
Φίλοι του Φόρουμ Καλησπέρα. Σπύρο για άλλη μια φορά σε ευχαριστώ πολύ για τον χρόνο σου και την βοήθειά σου αλλά όπως θα δεις στο συνημμένο έγγραφο πρέπει να έκανα σωστά όσο μου είπες αλλά το πρόγραμμα δεν δουλεύει μήπως έχει σχέση με το πρόβλημα που έχει ο υπολογιστής μου όπως αναφέρω στον σύνδεσμό : http://www.ms-office.gr/forum/excel-...anazitisi.html στο οποίο δεν έχω πάρει ακόμα απάντηση. Αν δεν το έχω κάνει σωστά πέσμου πως πρέπει να το κάνω Σε ευχαριστώ πολύ και πάλι. |
#5
|
![]()
Ο κώδικας έχει αντιγραφεί σωστά. Δουλεύει κανονικά. Αν στον υπολογιστή, κάτι δούλευε κανονικά και δεν έγιναν αλλαγές λογισμικού, ρυθμίσεων κλπ τότε μια επαναφορά σε προηγούμενο σημείο πιθανό να έλυνε το πρόβλημα. Θυμήσου τι έχεις κάνει στον υπολογιστή, από την τελευταία φορά που δούλεψε σωστά, μέχρι την πρώτη που δεν δούλεψε. |
#6
| |||
| |||
![]()
Σπύρο καλησπέρα και σε ευχαριστώ ![]() Παράθεση:
Θα ήθελα να με βοηθήσεις να κάνω Παράθεση:
γιατί μου έχει κόψει τα πόδια.............. Αυτή η βοήθειά σου πιστεύω θα είναι μία από τις μεγαλύτερες που μου έχετε προσφέρει όλοι εσείς οι στυλοβάτες του φόρουμ |
#7
| |||
| |||
![]()
Καλησπέρα στην παρέα Στο συνημμένο αρχείο έκανα κάποιες αλλαγές για να δίνει σωστά αποτελέσματα (δεν ταξινομούσε σωστά την 1η γραμμή των δεδομένων τη θεωρούσε ετκέτα). Σημειώνω ότι ταξινόμηση γίνεται μόνο αν γίνουν αλλαγές στην 3η στήλη των δεδομένων. Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 26-04-15 στις 17:03. Αιτία: Διόρθωση |
#8
|
![]()
Γιώργο Η διατύπωση: «Στο συνημμένο αρχείο έκανα κάποιες αλλαγές για να δίνει σωστά αποτελέσματα (δεν ταξινομούσε σωστά την 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)» |
#9
| |||
| |||
![]()
Φίλε μου είσαι αρκετά εύθικτος. Δεν είχα καμιά πρόθεση να σε υποτιμήσω. Απλά ο κώδικάς σου δεν ήταν προσαρμοσμένος στο παράδειγμα που είχε επικεφαλίδες. |
#10
|
![]()
Ο κώδικας, είναι παραδειγματικός. Κάθε χρήστης, τον προσαρμόζει στο έργο του, αφού διαβάσει και τις σημειώσεις. Γι' αυτό άλλωστε και δεν ήταν σε κάποιο συνημμένο, αλλά απ' ευθείας στο φόρουμ. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Συναρτήσεις] Αυτόματη Ταξινόμηση κελιών | alex7 | Excel - Ερωτήσεις / Απαντήσεις | 13 | 11-02-17 22:30 |
[Γενικά] Αυτόματη Ταξινόμηση | xristos | Excel - Ερωτήσεις / Απαντήσεις | 22 | 12-02-14 00:37 |
[Γενικά] Ταξινόμηση | comsup | Excel - Ερωτήσεις / Απαντήσεις | 8 | 13-04-13 17:25 |
[Γενικά] Ταξινόμηση | comsup | Excel - Ερωτήσεις / Απαντήσεις | 1 | 15-03-13 23:51 |
[Συναρτήσεις] Αυτόματη ταξινόμηση με συναρτήσεις. | gr8styl | Excel - Tips & Tricks | 0 | 18-02-11 00:16 |
Η ώρα είναι 04:26.