ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Γενικά] Αυτόματη Ταξινόμηση

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 07-02-14, 21:32
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-09-2011
Μηνύματα: 505
Red face Αυτόματη Ταξινόμηση

Φίλοι του φόρουμ Καλησπέρα.
Πριν γράφω το πρόβλημά μου
κοίτα αν υπάρχει κάποιο θέμα στο φόρουμ
και βρήκα αρκετά, αλλά όλα ήταν διαφορετικά από το δικό μου.
Όπως θα δείτε και στο συνημμένο
στο φύλλο Ευρετήριο έρχονται τα δεδομένα με σύνδεση
Θα ήθελα αν π.χ πάω στο φύλλο 22 και γράψω ένα όνομα
να ταξινομηθεί αυτόματα μαζί με τα άλλα δεδομένα του φύλλου.
Πιστεύω να μην σας μπέρδεψα.
Σας ευχαριστώ για τον χρόνο σας.
Συνημμένα Αρχεία
Τύπος Αρχείου: xls _Καρτέλα-ΤΙΜΟΛΟΓΙΑ.xls_-Forum.xls (155,0 KB, 50 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 08-02-14, 03:11
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 22-08-2013
Μηνύματα: 33
Προεπιλογή Αυτόματη Ταξινόμηση

Καλημέρα Χρήστο

Σε κάθε φύλο αντέγραψε τον παρακάτω κώδικα

Κώδικας:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("f4:f39")) Is Nothing Then
    Range("range1").Sort key1:=Range("b5"), Order1:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End If
End Sub
όπου range("range1") η περιοχή Α4:F39. Μπορείς βέβαια να ονομάσεις τις περιοχές σου όπως σε βολεύει ή να μην τις ονομάσεις καθόλου.
Καταχωρείς τις εγγραφές σου και προχωράς στο επόμενο κελί με tab. Μόλις καταχωρήσεις το ποσό στη στήλη ΠΙΣΤΩΣΗ και πατήσεις tab θα γίνει η ταξινόμηση αυτόματα με κριτήριο το ΟΝΟΜΑΤΕΠΩΝΥΜΟ ( key1:=Range("b5")) Αν θέλεις να γίνει ως προς άλλη στήλη άλλαξε το b5
Στο συνημμένο ο κώδικας είναι στο πρώτο φύλο
Προσοχή: 1) Δεν μπορείς να κάνεις undo. 2) Αν δε φτάσεις μέχρι τη στήλη F δε θα γίνει ταξινόμηση 3) Έχω προσθέσει μια ενδιάμεση γραμμή για να γίνετε η ταξινόμηση επειδή η πρώτη γραμμή είναι merged

Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm _Καρτέλα-ΤΙΜΟΛΟΓΙΑ.xls_-Forum.xlsm (83,4 KB, 47 εμφανίσεις)
Απάντηση με παράθεση
  #3  
Παλιά 08-02-14, 10:58
Το avatar του χρήστη 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.402
Προεπιλογή

Καλημέρα
Φίλε Χρήστο δεν έχω καταλάβει τι θέλεις να κάνεις με αυτό το project που στήνεις.
Μήπως πρέπει να το ξανασκεφτείς τώρα που είναι αρχή ακόμα;
Έχεις καρτέλες τιμολογίων χωρίς να υπάρχει πουθενά στήλη με τα στοιχεία τιμολογίων.
Αν έρθει πελάτης 31 και του φτιάξεις καρτέλα που θα είναι το όνομα του στο ευρετήριο
αν λέγετε Βαγγέλης ... στον πάτο της λίστας;
Τι ρόλο παίζει η στήλη πελάτη σε κάθε καρτέλα αν κάθε πελάτης έχει δική του καρτέλα;
Πάντα οι αρνητικές τιμές τιμές σε καρτέλα δείχνουν πιστωτικό υπόλοιπο.
Εδώ θέλεις να είναι αρνητικό αυτό που σου χρωστάνε....(χρεωστικό)
Γιατί πρέπει να επαναλαμβάνεται το τελευταίο υπόλοιπο;
Τι θα γράψεις και που αν κάποιος πελάτης επιστρέψει κάτι και πρέπει να εκδοθεί πιστωτικό τιμολόγιο;
Και τεχνικά δύο πράγματα που έχουμε κατ' επανάληψιν πει είναι
1. Μην βάζετε συγχωνευμένα (επέλεξε μου την Β στήλη μιας καρτέλας)
2. Μην ονομάζετε καρτέλες με αριθμούς 1,2...κλπ
Συγνώμη για τις "παρατηρήσεις" αλλά αν έχω καταλάβει θέλεις να φτιάξεις κάτι που να διαχειρίζεται
πελάτες, εισαγωγή εξαγωγή προϊόντος, και τιμολόγια και υπόλοιπα πελατών
Φίλε Χρήστο αυτό δεν θα σου κάνει την δουλειά...
Απάντηση με παράθεση
  #4  
Παλιά 08-02-14, 16:14
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-09-2011
Μηνύματα: 505
Red face

Φίλοι του φόρουμ Καλησπέρα.
Φίλοι Γιώργο & Σπύρο σας ευχαριστώ για τον χρόνο σας και την βοήθειά σας.
Πρώτα θέλω να σας πω ένα μεγάλο ΣΥΓΝΩΜΗ γιατί σας έστειλα λάθος συνημμένο,
το οποίο δεν απέχει πολύ από το σωστό.
Φίλε Γιώργο θα απευθυνθώ πρώτα σε σένα.
Σε ευχαριστώ για το κωδικό και θα το χρησιμοποιήσω όταν το χρειαστώ,
αλλά εγώ ήθελα να γίνεται η αυτόματη ταξινόμηση στο φύλο ΕΥΡΕΤΗΡΙΟ
και φυσικά να ταξινομείται κάθε εγγραφή όλη μαζί μαζί με τα ποσά.
Δηλ. όταν πάω στο φύλλο 25 και γράψω όνομα Βήτα και τα ποσά στο φύλλο ΕΥΡΕΤΗΡΙΟ
να ταξινομείται με τα ποσά μαζί.
Τώρα φίλε Σπύρο να σου απαντήσω στα ερωτήματά σου
Παράθεση:
Έχεις καρτέλες τιμολογίων χωρίς να υπάρχει πουθενά στήλη με τα στοιχεία τιμολογίων.
μπορεί να υπάρχει η ονομασία Τιμολόγια, αλλά δεν χρειάζεται να γράφω στοιχεία τιμ/γίων
απλά είναι βοηθητικά.
Παράθεση:
Αν έρθει πελάτης 31 και του φτιάξεις καρτέλα που θα είναι το όνομα του στο ευρετήριο
αν λέγετε Βαγγέλης ... στον πάτο της λίστας;
αυτό ζητάω και εγώ όταν πάω στην καρτέλα 31 και γράψω να πηγαίνει μετά στο φύλλο ΕΥΡΕΤΗΡΙΟ και να ταξινομείται αυτόματα
Παράθεση:
Τι ρόλο παίζει η στήλη πελάτη σε κάθε καρτέλα αν κάθε πελάτης έχει δική του καρτέλα;
έχω βάλει το όνομα στην καρτέλα για να πηγαίνει αυτόματα στο φύλλο ΕΥΡΕΤΗΡΙΟ. (Όλες οι καρτέλες καταλήγουν στο ΕΥΡΕΤΗΡΙΟ)
Παράθεση:
Γιατί πρέπει να επαναλαμβάνεται το τελευταίο υπόλοιπο;
γιατί υπάρχει τύπος και θα πρέπει να υπάρχει σε όλα τα κελιά
Παράθεση:
2. Μην ονομάζετε καρτέλες με αριθμούς 1,2...κλπ
τα ονόμασα έτσι για ευκολία και συντομία.
Παράθεση:
Συγνώμη για τις "παρατηρήσεις" αλλά αν έχω καταλάβει θέλεις να φτιάξεις κάτι που να διαχειρίζεται
πελάτες, εισαγωγή εξαγωγή προϊόντος, και τιμολόγια και υπόλοιπα πελατών
Φίλε Χρήστο αυτό δεν θα σου κάνει την δουλειά...
Αυτό που πρέπει να ζητάει ΣΥΓΝΩΜΗ είμαι εγώ που σας ταλαιπωρώ. Όσο αφορά τις καρτέλες αυτές είναι βοηθητικές όπως προανέφερα, απλά να γνωρίζει ο φίλος μου ποιός του χρωστάει πόσα δεν κόβει τιμολόγια.
Έγραψα πολλά αλλά είμαι της άποψης ότι όσα περισσότερα γράφεις τόσο το
καλύτερο γιατί μπορεί να βγει κάτι καινούργιο.
Θέλω να σας πω και πάλι ΣΥΓΝΩΜΗ για το λάθος συνημμένο αλλά όπως θα δείτε
δεν διαφέρει πολύ στο ότι θέλω να γίνεται η αυτόματη ταξινόμηση στο φύλλο ΕΥΡΕΤΗΡΙΟ
Σας ευχαριστώ και πάλι
Συνημμένα Αρχεία
Τύπος Αρχείου: xls _Καρτέλα-ΣΤΗΘΟΣ.-Forum.xls (250,0 KB, 32 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 08-02-14, 16:52
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-09-2011
Μηνύματα: 505
Red face

Γιώργο επανέρχομαι στο λανθασμένο συνημμένο
που σου είπα ότι θα το χρησιμοποιήσω αλλού.
Πήγα όπως μου είπες και έβαλα τον κώδικα στα άλλα φύλλα
αλλά δεν λειτουργεί.
Που έχω κάνει λάθος;;;;
Σε ευχαριστώ
Απάντηση με παράθεση
  #6  
Παλιά 08-02-14, 17:04
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-09-2011
Μηνύματα: 505
Red face

Σας στέλνω το συνημμένο που ξέχασα
Συνημμένα Αρχεία
Τύπος Αρχείου: xls _Καρτέλα-ΤΙΜΟΛΟΓΙΑ.xls_-Forum-4.xls (219,0 KB, 20 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 08-02-14, 17:25
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 22-08-2013
Μηνύματα: 33
Προεπιλογή Αυτόματη Ταξινόμηση

Καλησπέρα Χρήστο

Θα πρέπει να βάλεις τον κώδικα στο Worksheet_SelectionChange event για να λειτουργήσει. Όχι σε ένα module.

Στο παράθυρο του κώδικα επέλεξε από τις αναπτυσσόμενες λίστες Worksheet στο αριστερό βελάκι και Selection Change στο δεξί.

Θα πρέπει:
1) όλα τα φύλα να έχουν την ίδια μορφή που έχει το φύλο 1 που έχει τον κώδικα. Δηλαδή η τρίτη γραμμή κενή και ο πίνακας με τα στοιχεία σου να ξεκινάει από τη γραμμή 4.
2) να ονομάσεις τον πίνακα με τα δεδομένα σου range1 όπως το έχω βάλει. Αν δε θες να τον ονομάσεις, πρέπει να ορίσεις εσύ την περιοχή ταξινόμησης. Σε κάθε φύλο να έχεις διαφορετικό όνομα περιοχής range1, range2 κοκ
3) ο πίνακας σε όλα τα φύλα να έχει τις ίδιες διαστάσεις (μέχρι τη γραμμή 39)

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

Για την ταξινόμηση στο πρώτο φύλο θα επανέρθω

Ελπίζω να σε βοήθησα
Γιώργος
Απάντηση με παράθεση
  #8  
Παλιά 08-02-14, 18:04
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-09-2011
Μηνύματα: 505
Red face

Φίλε Γιώργο σε ευχαριστώ για την αμεσότητά σου
βλέπω και οι δύο ήμαστε μπροστά στον Η/Υ
Λοιπόν έκανα ότι είπες
Παράθεση:
1) όλα τα φύλα να έχουν την ίδια μορφή που έχει το φύλο 1 που έχει τον κώδικα
έκανα αντιγραφή επικόλληση για να είναι ίδιο
Παράθεση:
Θα πρέπει να βάλεις τον κώδικα στο Worksheet_SelectionChange event για να λειτουργήσει.
Παράθεση:
Σε κάθε φύλο να έχεις διαφορετικό όνομα περιοχής range1, range2
στο φύλλο 2 έβαλα range2
αλλά και πάλι όπως θα δεις δεν λειτουργεί.



ΥΣ: Σου υπενθυμίζω ότι την ταξινόμηση στο καινούργιο συνημμένο που έστειλα πριν την απάντησή σου είναι στο φύλλο ΕΥΡΕΤΗΡΙΟ
Συνημμένα Αρχεία
Τύπος Αρχείου: xls _Καρτέλα-ΤΙΜΟΛΟΓΙΑ.xls_-Forum-5.xls (229,0 KB, 19 εμφανίσεις)
Απάντηση με παράθεση
  #9  
Παλιά 08-02-14, 18:11
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 22-08-2013
Μηνύματα: 33
Προεπιλογή

Χρήστο,

Είχες ξεχάσει να ορίσεις την περιοχή που χαρακτηρίζεται σαν range2.
Στο συνημμένο στο διόρθωσα. Αριστερά από τη formula bar, στο πλαίσιο που έχει και αφού πρώτα έχεις επιλέξει μια περιοχή κελιών, πληκτρολογείς το όνομα που θες και πατάς enter. Η περιοχή που επέλεξες αποθηκεύεται με το όνομα που της έδωσες.

Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsm _Καρτέλα-ΤΙΜΟΛΟΓΙΑ.xls_-Forum-5_Amended.xlsm (84,3 KB, 52 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 08-02-14, 18:27
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 22-08-2013
Μηνύματα: 33
Προεπιλογή

Για την ταξινόμηση στο φύλο Ευρετήριο βάλε την παρακάτω macro στο event Worksheet Activate.

Κώδικας:
Private Sub Worksheet_Activate()
 Range("A1:C31").Select
    ActiveWorkbook.Worksheets("Ευρετήριο").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Ευρετήριο").Sort.SortFields.Add Key:=Range( _
        "B2:B31"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Ευρετήριο").Sort
        .SetRange Range("A1:C31")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Γιώργος
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Αυτόματη Ταξινόμηση κελιών alex7 Excel - Ερωτήσεις / Απαντήσεις 13 11-02-17 22:30
[Συναρτήσεις] Αυτόματη Ταξινόμηση xristos Excel - Ερωτήσεις / Απαντήσεις 15 28-04-15 10:21
[Γενικά] Ταξινόμηση 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


Η ώρα είναι 14:45.