Καλημέρα
Θα μπορούσε κανείς να χρησιμοποιήσει μια αυτοματοποιημένη μέθοδο όσον αφορά την ταξινόμιση στοιχείων που τον ενδιαφέρουν ως εξής:
Στο ζητούμενο για παράδειγμα θέλουμε ταξινόμιση ημερομηνιών .
Περνάμε τον παρακάτω κώδικα στο φύλλο και όχι σε Module
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Sheet1.ListObjects("Table1").Sort.SortFields.Clear
Sheet1.ListObjects("Table1").Sort.SortFields.Add _
Key:=Range("Table1[Ημερομηνία]"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With Sheet1.ListObjects("Table1").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Όπου Sheet1 το
κωδικό όνομα του φύλλου
Table1 η ονομασία του
πίνακα δεδομένων μας
και Table1[Ημερομηνία] η
στήλη που θα ταξινομιθεί
Σε κάθε καταχώρηση ημερομηνίας ο κώδικας βρίσκει την σειρά της και την τοποθετεί παρασύροντας και τα υπόλοιπα δεδομένα να μπούν στην σωστή σειρά
Ο κωδικας είναι πολύ γρήγορος αν και εφ όσον το φύλλο περιέχει απλές καταχωρήσεις ή απλούς υπολογισμούς
Αν περιέχει περίπλοκους υπολογισμούς πάλι λειτουργεί πολύ καλά αλλά καθυστερεί ελάχιστα
Σε 2010 έκδοση έχει γίνει εφαρμογή σε ημερολόγιο ταμείου με συναρτήσεις IF, AND, OR, SUM, AVERAGE και συνδιασμό κάποιων από τους παραπάνω τύπους σε 12 στήλες καθώς και με 3 Conditional Formating και είναι ακαριαίος
Όσον αφορά την μεταφορά των αρχείων από διαφορετικά φύλλα σε ένα θα προτεινα ένα και μόνο φύλλο ΕΣΟΔΑ ΕΞΟΔΑ με διαφορετικό ID πχ 1=ΕΣΟΔΑ, 2=ΕΞΟΔΑ
Οπότε ή με φίλτρο φιλτράροντας ως προς 1 ή 2 να παίρνουμε και συγκεντρωτικά τα αποτελέσματα μας ή και με Pivot table