Ανανέωση ιστοσελίδας

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

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

 

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

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


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

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

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
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #3  
Παλιά 14-09-11, 16:27
Όνομα: Μάρω
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 09-03-2010
Περιοχή: Αθήνα
Μηνύματα: 287
Προεπιλογή

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




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

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

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

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

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

Φιλικά

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

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


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


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Φίλτρο manolis Excel - Ερωτήσεις / Απαντήσεις 9 07-05-14 17:47
[Γενικά] Φίλτρο xristos Excel - Ερωτήσεις / Απαντήσεις 5 15-09-12 17:30
[VBA] φίλτρο manos77 Excel - Ερωτήσεις / Απαντήσεις 2 16-10-11 00:31
Φίλτρο Χρήστος Access - Ερωτήσεις / Απαντήσεις 2 06-05-11 13:48
[ Ερωτήματα ] Φίλτρο ΝΑΙ, ΟΧΙ, ΟΛΑ devcon Access - Ερωτήσεις / Απαντήσεις 4 29-03-11 17:19


Η ώρα είναι 08:11.