Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
![]() |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
![]()
Καλησπερα σε όλη την κοινοτητα του ms-office Εχω ενα παραδειγμα στο επισυναπτομενο αρχειο test1.xls ιδιο και στα δυο φυλλα του βιβλιου. Στο φυλλο 1 μεσα στο textbox πλητρολογεις το φιλτρο για το κελι C7 (Δρομολογια) Στο φυλλο 2 μπορεις να πληκτρολογήσεις στο C6, τι θες ως φιλτρο. (Στο φυλλο 2 επίσης μπορεις σε ολη τη σειρα 6 να πληκτρολογεις φιλτρα για τα πεδια της σειρας 7. Δοκιμαστε στο Β6 να πληκτρολογησετε μ* ) Και τους δυο κωδικες VBA για φιλτρα χωρις dropdown menu, τους εχω βρει στο διαδίκτυο. Η ερωτηση μου ειναι : Εχω μια εφαρμογη σε ενα βιβλιο, με 4 φυλλα, με δεδομενα. Και στα τεσσερα φυλλα, υπαρχει κοινο το πεδιο Δρομολογιο. Θελω να φιλτράρω τις εγγραφες μου ως προς το Δρομολογιο (π.χ. 1) αλλα και στα τεσσερα φυλλα. Μεχρι στιγμης το κανω με 4 textbox (1 σε καθε φυλλο) και πληκτρολογω το 1 σε καθε ένα (χρησιμοποιω δηλαδη το παραδειγμα Φυλλο 1 απο test1.xls) Υπαρχει τροπος με VBA να διδω το δρομολογιο 1 σε καποιο φυλλο και να φλιτραρει 1 και στα 4 φυλλα ? |
#2
| |||
| |||
![]()
Εδώ σας επισυνάπτω ένα αρχείο που όπως λέει και ο τίτλος είναι σπαζοκεφαλιά .. Στην ουσία … στο συγκεκριμένο αρχείο στο φύλλο “DATA” κάνω χρήση αυτού του φίλτρου για αναζήτηση διαφορών ονομάτων με απόλυτη επιτυχία , το πρόβλημα είναι όταν αντί για ονόματα έχω αριθμούς όπως την στήλη “Η” ΑΡ. ΤΙΜΟΛΟΓΙΟΥ ..Μπορεί να μου πει κάποιος γιατί γίνετε αυτό; |
#3
| |||
| |||
![]()
Καλησπερα σε όλους Αν καταλαβα καλα αυτο που θες ..... ριξε μια ματια στο αρχειο που στελνω αν ειναι αυτο που θες |
#4
| |||
| |||
![]()
Παιδιά γειά σας. Είδα τα συνημμένα και θα ήθελα να ρωτήσω πως το δημιουργήσατε την αναζήτηση γιατί με ενδιαφέρει να την κάνω σε κάποιο δικό μου έγγραφο ή είναι πιο εύκολο να στείλω συνημμένο το δικό μου έγγραφο και να μου δημιουργήσετε εσείς. Αν είναι εύκολο καλό θα είναι να μου πείτε τον τρόπο για να μπορώ να το δημιουργώ σε άλλα έγγραφα. Ευχαριστώ
|
#5
| |||
| |||
![]() Παράθεση:
τωρα μπορει να βρει το αριθμο, αν τον πληκτρολογησεις όλον (π.χ. 351) αλλα, το AVRA TOUR το βρισκει πληκτρολογοντας AV* Ακριβως πως δουλευει δεν γνωριζω... Οπως ειπα το βρήκα ετοιμο και απλα το χρησιμοποιησα !! |
#6
|
![]()
Καλησπέρα σας. Θα ήθελα να σας πώ ότι στο Excel σε μια στήλη που περιέχει αριθμούς δεν μπορούμε να φιλτράρουμε με "Περιέχει ... ", διότι αυτό που υπάρχει στο κελί είναι αριθμός αποθηκευμένος σε δυαδική μορφή και όχι αριθμητικά ψηφία όπως εμφανίζεται και το βλέπουμε. Το τέχνασμα λοιπόν είναι να μετατρέψουμε την στήλη των αριθμών σε αλφαριθμητικό σε μια βοηθητική στήλη και να φιλτράρουμε την βοηθητική στήλη. Παράδειγμα: Κώδικας: ΣτήληΑ ΣτήληΒ Αριθμός aΑριθμός (ο τύπος είναι ="a"&a1) 123,45 a123,45 4.567 a4567 12345 a12345 1476 a1476 1,70 a1,7 Θανάσης |
#7
| ||||
| ||||
![]()
Καλησπέρα σε όλους! Απευθύνομαι στο δημιουργό του θέματος τον Μανώλη. Φίλε Μανώλη και εμείς είμαστε στο διαδίκτυο και νομίζω ότι τα καταφέρνουμε μια χαρά! ![]() Στο θέμα μας λοιπόν. Θέλεις να φιλτράρεις σε ένα φύλλο και ταυτόχρονα να φιλτράρονται και κάποια άλλα φύλλα που έχουν την ίδια δομή δεδομένων. Βήμα 1: Αφαιρείς το/τα TextΒox (προκαλούν αναταραχές στην οθόνη) και πληκτρολογείς το κριτήριο του αυτόματου φίλτρου στο κελί C6. Αυτό ισχύει για όλα τα φύλλα που εμπλέκονται στην αναζήτηση και στο ταυτόχρονο φιλτράρισμα. Βήμα 2: Δημιουργείς ένα φύλλο (που αργότερα μπορείς να αποκρύψεις) με το κωδικό όνομα SheetList που θα περιέχει το όνομα ArrSheets (Περιοχή A2:A10, μπορείς να το προσαρμόσεις στα μέτρα σου). Στην περιοχή αυτή γράψε τα ονόματα των φύλλων που θα φιλτράρονται. Βήμα 3: Σε μια λειτουργική μονάδα πέρασε τον παρακάτω κώδικα: Κώδικας: Option Explicit Public IsExecuting As Boolean Dim c As Range, i As Integer Sub ExecuteAllAutoFilters( _ StartRange As String, _ AutofilterField As Integer, _ AutofilterCriteria As String, _ ExcludedSheetName As String, _ TargetAddress As String) For Each c In SheetList.Range("ArrSheets").SpecialCells(xlCellTypeConstants) With Parent.Worksheets(c.Text) If Not .Name = ExcludedSheetName Then If AutofilterCriteria = vbNullString Then .AutoFilterMode = False Else .Range(StartRange).AutoFilter Field:=AutofilterField, Criteria1:=AutofilterCriteria End If .Range(TargetAddress).Value = AutofilterCriteria End If End With Next End Sub Στη λειτουργική μονάδα κλάσης του Βιβλίου (στο "ThisWorkBook", όχι των φύλλων) πέρασε τον παρακάτω κώδικα: Κώδικας: Option Explicit Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If IsExecuting Then Exit Sub If Intersect(Target, Range("C6")) Is Nothing Then Exit Sub If SheetList.Range("ArrSheets").Find(Sh.Name) Is Nothing Then Exit Sub IsExecuting = True Range("A7:C7").AutoFilter Field:=3, Criteria1:=Target.Text ExecuteAllAutoFilters _ StartRange:="A7:C7", _ AutofilterField:=3, _ AutofilterCriteria:=Target.Text, _ ExcludedSheetName:=Sh.Name, _ TargetAddress:=Target.Address If Trim(Target) = vbNullString Then Sh.AutoFilterMode = False IsExecuting = False End Sub Καλή συνέχεια! Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 09-07-11 στις 03:55. Αιτία: Βελτίωση κώδικα VBA |
#8
| |||
| |||
![]()
Φιλε Τασο κατ'αρχην να σε ευχαριστησω πολύ για το χρόνο σου... Τωρα στο αρχειο που ανεβασες γινονται τα εξεις: α. πληκτρολογεις στο 1ο φυλλο το κιτηριο π.χ. 1 β. ενεργοποιουνται τα βελακια του αυτοματου φιλτρου στις επικεφαλιδες (χωρις να φιλτραριστει τίποτα γ. ξαναπληκτρολογεις στο c6 το κριτηριο και ok δ. διαγραφεις το κριτηριο 1, απενεργοποιουνται τα βελακια ε. πληκτρολογεις αλλο κριτηριο πχ 2 > ενεργοποιουνται τα βελακια (χωρις φιλτραρισμα) στ.ξαναπληκτρολογεις στο c6 το κριτηριο και Βγαζει runtime error "H Μεθοδος AutoFilter της κλασης range απετυχε" Και να ρωτησω και κατι "πως δημιουργεις φυλλο με κωδικο όνoμα Sheetlist" ? Οπως καταλαβες ... εγω κόλλησα σε αυτό..!!!! Φιλικα Μανώλης |
#9
| ||||
| ||||
![]()
Καλημέρα Μανώλη και ευχαριστώ για τις παρατηρήσεις! Το πρόβλημα που περιγράφεις εμφανίζεται στην έκδοση Excel 2003. Σε νεώτερες εκδόσεις λειτουργεί κανονικά. Σήμερα που βρίσκομαι σε υπολογιστή με Office 2003 μπόρεσα να αναπαράγω το σφάλμα που περιγράφεις και προτείνω τα εξής: Στο συμβάν Workbook_SheetChange Άλλαξε το Range("A7:C7") με το Range("A7:C" & Rows.Count) Επίσης άλλαξε το StartRange:="A7:C7" με το StartRange:="A7:C" & Rows.Count. Όσο για την αλλαγή κωδικού ονόματος ενός φύλλου και γενικά ενός αντικειμένου στη VB δες την εικόνα παρακάτω: ![]() Θα πρέπει να αποφεύγουμε να επικαλούμαστε ονόματα φύλλων στην Excel που ο κοινός χρήστης θα μπορούσε να μετονομάσει/μετακινήσει από την επιφάνεια εργασίας της εφαρμογής προκαλώντας σφάλματα στον κώδικα μας. Μια καλή λύση είναι να χρησιμοποιούμε το κωδικό όνομα ενός φύλλου το οποίο δεν επηρεάζεται από επεξεργασίες του ονόματος του φύλλου που ίσως θελήσει να κάνει ο χρήστης. Καλή συνέχεια! Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#10
| |||
| |||
![]()
Φιλε Τασο, Αυτο ήταν .... Δουλεύει αψογα... Σε ευχαριστω παρα πολύ για το χρονο σου Φιλικα Μανωλης |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
Menu | alex | Access - Ερωτήσεις / Απαντήσεις | 3 | 26-02-13 06:53 |
Ρύθμιση ιδιότητας shortcut menu -Poprecords | alex | Access - Ερωτήσεις / Απαντήσεις | 2 | 05-03-12 14:33 |
Menu | cybervit | Access - Ερωτήσεις / Απαντήσεις | 1 | 15-09-11 15:47 |
[Συναρτήσεις] Αυτόματη Άθροιση τιμών που δεν είναι κρυφές από ένα αυτόματο φίλτρο | maxtor10 | Excel - Ερωτήσεις / Απαντήσεις | 2 | 09-07-11 05:05 |
menu που βρίσκονται ως μπάρα επάνω στην Access | atlasgr | Access - Ερωτήσεις / Απαντήσεις | 2 | 16-11-10 22:04 |
Η ώρα είναι 12:46.