Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Excel > Excel - Ερωτήσεις / Απαντήσεις > [Excel07] Κουμπί αναζήτησης σε στήλη

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

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

 

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

Είναι το όνομα που έχω ορίσει για την περιοχή: TEST!$A$51:$A$65536

Για περισσότερες πληροφορίες δες τον παρακάτω σύνδεσμο:
Καθορισμός και χρήση ονομάτων σε τύπους - Excel - Office.com

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #12  
Παλιά 12-09-11, 10:31
Lefteris
Guest
 
Μηνύματα: n/a
Προεπιλογή

Καλημέρα σε όλους.

Διαπιστώνω σήμερα, που μπορώ να είμαι στο διαδίκτυο, ότι υπήρξε ενα δημιουργικότατο ΣΚ, στην παρέα.

Αισθάνομαι την ανάγκη να πω κάποια πράγματα, όχι μόνο λόγω της ελάχιστης συμμετοχής μου σε αυτό το θέμα, αλλά επειδή πράγματι μου δημιουργήθηκε η ανάγκη.

Γιώργο, η λύση που έδωσες, ήταν τόσο απλή, τόσο εύχρηστη και παράλληλα τόσο εύστροφη και δημιουργική, που τι να πω...Συγχαρητήρια.!

Φίλε Τάσο, τι να πώ...Τί λύσεις...Μαθαίνουμε συνέχεια και συνέχεια μαζί σου.

Κυβερνάς το πλοίο που λέγεται,Forum του Ms-Office.gr και το οδηγείς με μαεστρία σε 'ολο και μακρύτερα ταξίδια με ασφάλεια και δεξιοτεχνία.

Μας βάζεις(σε 'ολους όσους ενδιαφέρονται να συμμετάσχουν στο πλήρωμα) τον πήχυ, όλο και ψηλότερα και μας κάνεις να αισθανόμαστε τόσο σιγουριά που έχουμε αυτόν τον Καπετάνιο

Εγώ τουλάχιστον, αισθάνομαι την ανάγκη να πω, πώς ευελπιστώ να καταφέρω κάποτε να μπορέσω να είμαι άξιο μέλος αυτού του πληρώματος.

Και για τους δυό σας, ισχύουν οι ίδιες παρατηρήσεις και για το θέμα του Μανώλη με το "Άθροισμα Κελιών"

Να έχετε όλοι, μία δημιουργική εβδομάδα.
Απάντηση με παράθεση
  #13  
Παλιά 12-09-11, 15:28
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Λευτέρη, σ’ ευχαριστώ. Είσαι πολύ γενναιόδωρος. Με χαρά διαπιστώνω τη μεγάλη βελτίωσή σου τόσο στο excel όσο και στον τρόπου που παρουσιάζεις τις ιδέες σου.
Παίρνοντας αφορμή από την καταπληκτική λύση του Τάσου, στον εντοπισμό των γραμμών που μια δεδομένη στήλη τους περιέχει τη συμβολοσειρά αναζήτησης, προσπάθησα να βρω μια ανάλογη λύση χρησιμοποιώντας κώδικα.
Στο αρχείο που επισυνάπτω στο φύλλο «TEST» υπάρχει η λύση του Τάσου που υλοποιείται μόνο με συναρτήσεις του excel και στο φύλλο «VBA» μια λύση με κώδικα.
Ο κώδικας είναι σύντομος και φαίνεται παρακάτω:
Κώδικας:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x As Variant, j As Long, strS As String
    Dim LastRow As Long, col As New Collection
    
    If Application.Intersect(Target, Cells(2, 3)) Is Nothing Then Exit Sub
    Range("B4:G49").ClearContents
    If IsEmpty(Cells(2, 3)) Then Exit Sub
    strS = Cells(2, 3)
    LastRow = Cells(Rows.Count, 2).End(xlUp).Row
    For j = 51 To LastRow
        If InStr(1, Cells(j, 3), strS, vbTextCompare) Then
            x = Range(Cells(j, 2), Cells(j, 7))
            col.Add x
        End If
    Next
    If col.Count = 0 Then Exit Sub
    Application.EnableEvents = False
    For j = 1 To col.Count
        Range("b" & 3 + j & ":G" & 3 + j) = col.Item(j)
    Next
    Application.EnableEvents = True
End Sub
Όταν οι γραμμές στο φύλλο δεδομένων είναι περιορισμένες δεν έχει σημασία ποια μέθοδος θα χρησιμοποιηθεί.
Όταν όμως έχουμε πολλές χιλιάδες γραμμών θα πρέπει να χρησιμοποιηθεί η ταχύτερη.
Κατά τη γνώμη μου, για να πούμε με σιγουριά ποια μέθοδος είναι ταχύτερη, θα πρέπει να γίνουν χρονομετρήσεις.
Ίσως βρεθεί κάποιο μέλος να δημιουργήσει εικονικές γραμμές και να πειραματιστεί.

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

Καλημέρα σε όλους!

Δείτε στο αρχείο που επισυνάπτω μερικά παραδείγματα για αναζήτηση δεδομένων σε Excel.

Στο αρχείο αυτό γίνεται χρήση διαφορετικών μεθόδων αναζήτησης σε περιεχόμενα κελιού.

Όπως θα διαπιστώσετε και εσείς, υπάρχουν αισθητές έως σημαντικές διαφορές στην ταχύτητα των μεθόδων αυτών.

Έτσι έχουμε:

  1. Μέθοδος με χρήση συναρτήσεων (βελτιωμένη έκδοση)
    Η γρηγορότερη και με μεγάλη διαφορά από τις υπόλοιπες).
  2. Μέθοδος με χρήση του αντικειμένου WorksheetFunction (Excel-VBA)
  3. Μέθοδος με χρήση του αντικειμένου Find-FindNext (Excel-VBA)
  4. Μέθοδος με χρήση του αντικειμένου ADO (Active Data Objects-VBA)
  5. Μέθοδος με χρήση του αντικειμένου Collection (VBA) στη VBA
  6. Μέθοδος με χρήση του αντικειμένου AutoFilter(Excel-VBA)
Δείτε το λοιπόν και αν θέλετε το σχολιάζουμε.

Φιλικά

Τάσος
Συνημμένα Αρχεία
Τύπος Αρχείου: zip xlSearchWildCardsMoreMethods.zip (709,5 KB, 51 εμφανίσεις)
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #15  
Παλιά 13-09-11, 21:12
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Φίλε μου Τάσο, συγχαρητήρια και για τις μεθόδους αναζήτησης που μας παρουσίασες και για το ωραίο περιβάλλον χρήσης.
Από την ταχύτερη προς την πιο αργή θα τις έβαζα με την ακόλουθη σειρά.
1. Μέθοδος με χρήση συναρτήσεων.
2. Μέθοδος με χρήση του αντικειμένου AutoFilter(Excel-VBA).
3. Μέθοδος με χρήση του αντικειμένου WorksheetFunction (Excel-VBA) και Μέθοδος με χρήση του αντικειμένου Find-FindNext (Excel-VBA)
4. Μέθοδος με χρήση του αντικειμένου ADO (Active Data Objects-VBA) και
Μέθοδος με χρήση του αντικειμένου Collection (VBA) στη VBA
Οι δύο πρώτες είναι σημαντικά ταχύτερες από τις υπόλοιπες.
Στον υπολογιστή μου σε μια δοκιμή με 300.000 γραμμές και οι τελευταίες λειτουργούσαν ικανοποιητικά, εκτός από την μέθοδο που χρησιμοποιεί αντικείμενα ADO, που δεν εμφάνιζε όλα τα αποτελέσματα (μάλλον το αρχικό recordset δεν είχε όλα τα δεδομένα).
Προσωπικά προτιμώ τη μέθοδο με τη χρήση αυτόματου φίλτρου, γιατί:
1. Είναι γρήγορη, σχεδόν όσο και η πρώτη.
2. Υλοποιείται εύκολα.
3.Δίνει στη γραμμή κατάστασης πληροφορίες για το αριθμό των γραμμών που βρέθηκαν και το συνολικό και μας επιτρέπει στο φιλτραρισμένο σύνολο να εφαρμόσουμε νέο φίλτρο.

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

Καλησπέρα Γιώργο!

Σ ευχαριστώ που έκανες τις μετρήσεις αυτές. Έτσι έχουμε μια πιο πλήρη εικόνα.

Οι δικές μου δοκιμές έγιναν σε περιβάλλον Excel 2003.

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

Να είσαι καλά!

Τα λέμε

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #17  
Παλιά 16-09-11, 23:33
Όνομα: φωτης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-01-2011
Μηνύματα: 27
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Είναι το όνομα που έχω ορίσει για την περιοχή: TEST!$A$51:$A$65536

Για περισσότερες πληροφορίες δες τον παρακάτω σύνδεσμο:
Καθορισμός και χρήση ονομάτων σε τύπους - Excel - Office.com

Φιλικά

Τάσος
Σε ευχαριστώ Τάσο.
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Φόρμα Αναζήτησης KTL Access - Ερωτήσεις / Απαντήσεις 14 19-10-16 10:36
[VBA] Πρόβλημα Αναζήτησης xristos Excel - Ερωτήσεις / Απαντήσεις 0 09-07-15 13:33
[Συναρτήσεις] Συνάρτηση αναζήτησης & αναφοράς Flashgordon61 Excel - Ερωτήσεις / Απαντήσεις 4 30-11-13 10:51
[VBA] Κουμπί αναζήτησης για Ημερομηνίες xristos Excel - Ερωτήσεις / Απαντήσεις 6 02-10-11 14:20
Ερώτημα αναζήτησης kirillos Access - Ερωτήσεις / Απαντήσεις 4 07-09-11 18:53


Η ώρα είναι 17:47.