Forum

Αναζήτηση στο ms-office.gr

Πάμε!

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 14-09-11, 09:42
Το avatar του χρήστη mdragon
Όνομα: Μάρω
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2010
Περιοχή: Αθήνα
Μηνύματα: 181
Προεπιλογή Φίλτρο

Καλημέρα σε όλους,
πως μπορούμε σε ένα κελί να εμφανίζεται το πρώτο αποτέλεσμα ενός αυτόματου φίλτρου???
Και επειδή μία εικόνα, χίλιες λέξεις....δείτε το συνημμένο


Ευχαριστώ εκ των προτέρων,
Μάρω
Συνημμένα Αρχεία
Τύπος Αρχείου: xls φίλτρο.xls (32,0 KB, 21 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 14-09-11, 11:53
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 1.328
Προεπιλογή

Μάρω καλημέρα!

Kατά το φιλτράρισμα η Excel δεν εκτελεί κάποιο συμβάν τύπου ""OnAutoFilter" όπου θα μπορούσες να προσθέσεις κώδικα.

Μπορεί να εκτελέσει όμως το συμβάν Worksheet_Calculate() αν στο φύλλο υπάρχουν τύποι
που χρειάζονται συνεχώς νέο υπολογισμό όπως πχ.συναρτήσεις ημερομηνίας.

Στη λειτουργική μονάδα κλάσης του φύλλου πέρασε τον κώδικα:

Κώδικας:
Option Explicit
Private IsCalculating As Boolean

Private Sub Worksheet_Calculate()
    If IsCalculating Then
        IsCalculating = False
        Exit Sub
    End If
    IsCalculating = True
    On Error GoTo ErrH
    Dim rng As Range, c As Range
    If ActiveSheet.AutoFilterMode Then
        If ActiveSheet.AutoFilter.Range.Columns(1) _
                .SpecialCells(xlCellTypeVisible).Count > 1 Then
            Set rng = ActiveSheet.AutoFilter.Range
            Set rng = rng.Offset(1).Columns(1)
            For Each c In rng.SpecialCells(xlCellTypeVisible)
                If c <> vbNullString Then
                    Me.Range("D1") = c ' Προσάρμοσε το αν χρειαστεί
                    Exit For
                End If
            Next
        End If
    End If
ErrH:
    If Err Then IsCalculating = False
End Sub
Αν δεν σου εμφανίζεται το αποτέλεσμα, θα πρέπει να προσθέσεις κάπου σε ένα κελί του φύλλου τον τύπο =NOW() για να προκαλείται υπολογισμός κατά το φιλτράρισμα και κατά συνέπεια η εκτέλεση του Worksheet_Calculate().

Αν εφαρμόζεις φίλτρο μόνο τη στήλη B, θα σου πρότεινα να χρησιμοποιήσεις σε ένα κελί τον παρακάτω τύπο CSE:

Κώδικας:
=INDEX(A:A;MATCH(INDEX(B:B;MAX(SUBTOTAL(3;INDIRECT("B"&ROW(2:999)))*ROW(2:999)));B:B;0))
Καλή συνέχεια!

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word
Απάντηση με παράθεση
  #3  
Παλιά 14-09-11, 15:27
Το avatar του χρήστη mdragon
Όνομα: Μάρω
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2010
Περιοχή: Αθήνα
Μηνύματα: 181
Προεπιλογή

Τάσο καλησπέρα,
Δεν κατάφερα να μου δουλέψει το index αλλά και ο κώδικας κάνει μια χαρά τη δουλειά του.
Σε ευχαριστώ για την άμεση ανταπόκριση.




Φιλικά,
Μάρω
Απάντηση με παράθεση
  #4  
Παλιά 14-09-11, 15:45
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 1.328
Προεπιλογή

Να είσαι καλά Μάρω!

Ο τύπος που σου υπέδειξα είναι τύπος Πίνακα (Array) ή αλλιώς CSE (πέρασε το ποντίκι πάνω από τη λέξη CSE)και δεν κλείνει με απλό ENTER αλλά με CTRL+SHIFT+ENTER.

Ελέγχει με ποιο κριτήριο έχεις φιλτράρει τη στήλη B, το αναζητεί και επιστρέφει το αντίστοιχο κελί στη στήλη A.

Δες ένα παράδειγμα στο συνημμένο.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: xls φίλτρο.xls (32,5 KB, 33 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word
Απάντηση με παράθεση
  #5  
Παλιά 14-09-11, 21:54
Το avatar του χρήστη mdragon
Όνομα: Μάρω
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2010
Περιοχή: Αθήνα
Μηνύματα: 181
Προεπιλογή

Η αλήθεια είναι πως αλχημεία στην αλχημεία το είχα ψιλοφτιάξει αλλά κόλλαγε από ένα σημείο και έπειτα.
Μέχρι να σας γνωρίσω ήμουν και είδα.


Καλό βράδυ
Μάρω
Απάντηση με παράθεση
Απάντηση στο θέμα

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

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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] φίλτρο manos77 Excel - Ερωτήσεις / Απαντήσεις 2 15-10-11 23:31
Φίλτρο σε Έκθεση Χρήστος Access - Ερωτήσεις / Απαντήσεις 21 16-05-11 07:55
Φίλτρο Χρήστος Access - Ερωτήσεις / Απαντήσεις 2 06-05-11 12:48
[ Ερωτήματα ] Φίλτρο ΝΑΙ, ΟΧΙ, ΟΛΑ devcon Access - Ερωτήσεις / Απαντήσεις 4 29-03-11 16:19
Φίλτρο Χρήστος Access - Ερωτήσεις / Απαντήσεις 9 16-01-11 17:06


Η ώρα είναι 21:59.