Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [Γενικά] Filter_by_Names (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1320-filter_by_names.html)

ΝΙΚΟΛΑΣ 22-08-11 21:19

Filter_by_Names
 
1 Συνημμένο(α)
Καλησπερα σας.
Ειμαι καινουργιος στο Forum και πρεπει να ομολογησω ότι κανετε παρα πολύ καλη δουλεια.Συγχαρητηρια σε ολους.
Επειδη μαλλον μαζι με το αρχειο που ανεβαζω θα χρειαστει και μια καλη περιγραφη του θεματος θα με συγχωρησετε για σημεια που δε θα ειμαι απολυτα κατανοητος.
Την επιηκεια σας θα ηθελα για αρχη.
Στο θεμα λοιπον.
Στο φυλλο Records βρισκονται οι εγγραφες που θα φιλτραριστουν.
Στο φυλλο Filter_all εχω βαλει ένα κουμπι που θελω να κανει το εξης.
Να ξεκιναει με την πρωτη σειρα δεδομενων του φυλλου filter_all και να φιλτραρει τα στοιχεια από το φυλλο Records.Μολις τελειωσει το φιλτρο τα αποτελεσματα να τα στελνει στο φυλλο Results.
Όταν γινει αυτό να ξεκιναει το φιλτρο για την δευτερη γραμμη δεδομενων και να κανει ακριβως την ιδια διαδικασια με πριν βαζοντας τα αποτελεσματα του 2ου φιλτρου στο φυλλο Results κατω ακριβως από τα αποτελεσματα του 1ου κ.ο.κ
Όταν λοιπον ολοκληρωσει όλα τα φιλτρα να γυριζει στο φυλλο Filter_all και εκει να υπαρχει η δυνατοτητα να μπορω να ανασυρω στην κιτρινη περιοχη από επιλογη μεσω ενός listbox τα αποτελεσματα του εκαστοτε α/α.
Δεν ξερω κατά ποσο μπορεσα να ειμαι περιγραφικος του θεματος αλλα εάν χρειαστει καποια διευκρινηση εδώ ειμαστε.
Σας ευχαριστω πολύ.
ΝΙΚΟΛΑΣ.

Lefteris 23-08-11 08:09

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

Νικόλα, καλως ήρθες στην παρέα.
Σαν νέο μέλος της παρέας, θέλω να σου πώ, πως όσο πιό περιγραφικός είσαι, τόσο και αυξάνεις τις πιθανότητες να σου δοθεί, μία λύση. Και εσύ είσαι αρκετά!
Ακόμη να πω, πως με την excel, μπορείς πολλές φορές να έχεις το ζητούμενο με διαφορετικούς τρόπους.
Να σου πώ επίσηε, πως όταν ανεβάζεις δείγματα δουλειάς σου(μιάς και δουλεύεις σε 2010), κάνε τα αρχεία σου σε μορφή xls, για να μπορούν να τα δούν και όσοι έχουν παλιότερες εκδόσεις και έτσι αυξάνεις τις πιθανότητές απάντησης.
Στο θέμα σου τώρα. Αν και εγώ δεν μπορώ να ανοίξω το επισυναπτόμενό σου(δουλεύω 2003), η αίσθησή μου, από την περιγραφή σου, μού λέει, πως ίσως τα πράγματα είναι πιό απλά και ίσως να μην χρειάζεται κώδικας(κουμπί) και να γίνεται και με απλά ή συνθετα φίλτρα, ή ακόμη και με συγκεντρωτικούς πίνακες.
Αυτά προς το παρόν.

ΝΙΚΟΛΑΣ 23-08-11 09:07

Λευτερη μου και λοιποι φιλοι καλημερα.
Ευχαριστω για την ανταποκριση σου στο θεμα μου .
Εχω δωσει και εγω μια λυση σχετικη με αυτή που περιεγραψες .
Επειδη όμως ειμαι ανθρωπος που του αρεσει να μαθαινει συνεχως και να ανακαλυπτει καινουργιους τροπους θελω να δω πως μπορω να εχω και τη λυση με την χρηση της vba.
Θα με ευχαριστουσε διπλα.
Καλημερα.

Lefteris 23-08-11 09:57

Νικόλα, ευχαριστώ για την απάντηση.

Για Vba, είμαι ο πλέον ακατάλληλος, να μιλήσω.

Καλή συνέχεια λοιπόν.

ΥΓ. Μην ξεχνάς να ανεβάζεις σε xls!!!

Tasos 23-08-11 10:40

Καλημέρα σε όλους!
Αγαπητέ Νικόλα, έτσι όπως πολύ καλά περιγράφεις το ζητούμενο σου, δεν υπάρχει λόγος χρήσης VBA εκτός και αν τα δεδομένα που θέλεις να παρουσιάζεις στο φύλλο Results πρόκειται να χρησιμοποιηθούν σαν εξωτερική πηγή δεδομένων από κάποια άλλη εφαρμογή.

Αν πχ ταξινομήσεις τη στήλη A στο φύλλο Records, θα έχεις ακριβώς τα ίδια αποτελέσματα με αυτά που θα παρουσιαζόταν στο φύλλο Results.

Έτσι, ούτε VBA θα χρειαστεί, ούτε και τα φύλλα Results και Filter_all.

Παράλληλα, με την παραπάνω μέθοδο θα μπορέσεις επιλεκτικά μέσα από το σύνθετο φίλτρο να εμφανίσεις/ αποκρύψεις τα ονόματα που επιθυμείς.

Αν θέλεις κάτι άλλο απλά δώσε μας τα φώτα σου.

Φιλικά

Τάσος

ΝΙΚΟΛΑΣ 23-08-11 11:14

Τασο καλημερα και σε εσενα.
Οντως ο τροπος που προτεινεις είναι και πιο σωστος και μακραν πιο ευκολος
Παρόλα αυτά εξακολουθω να χρειαζομαι την λυση πανω στο παραδειγμα που ανεβασα γιατι τα αποτελεσματα του φυλλου Results θα τα εφαρμοσω πανω σε φορμα οπου από εκει με το listbox θα τα ανασυρω.
Είναι βεβαια και το εκπαιδευτικο του πραγματος[συγνωμη για την εμμονη μου]αλλα χωρις αυτό δε βλεπω το λογο εγω προσωπικα να παιρνει κανεις μια λυση ετοιμη ισα ισα να κανει την δουλεια του χωρις να βαλει λιγο το μυαλο του να δει-σκεφτει.
Σε ευχαριστω πολύ και αν πραγματικα δεν ειναι κοπος σε εσενα η καποιο άλλο φιλο θα παρακαλουσα να το δεις-δειτε.

Tasos 23-08-11 16:44

1 Συνημμένο(α)
Νικόλα, για να αποθηκευσεις μια φιλτραρισμένη περιοχή σε άλλο φύλλο του βιβλίου προγραμματιστικά μπορείς να χρησιμοποιήσεις τον παρακάτω παραδειγματικό κώδικα:

Κώδικας:

Sub Copy_AutoFilter_Range()
    Dim rng As Range
    If Worksheets("Records").AutoFilterMode Then
    Application.ScreenUpdating = False
        Set rng = Worksheets("Records").AutoFilter.Range
        With Worksheets("Results")
            .UsedRange.ClearContents
            rng.Copy
            .Range("A1").PasteSpecial xlPasteColumnWidths
            .Range("A1").PasteSpecial xlPasteAll
            Application.CutCopyMode = False
            MsgBox "Done!"
        End With
    End If
End Sub

Τώρα εντελώς εκπαιδευτικά, υπάρχει και μια άλλη προσέγγιση όπου τα δεδομένα σου περνιούνται κατευθείαν σε ListBox σε φόρμα (Βλ. συνημμένο *.xls).

Καλή συνέχεια!

Τάσος

ΝΙΚΟΛΑΣ 23-08-11 18:13

Δεν μπορω παρα να σε ευχαριστησω πολυ για τον χρονο σου που τοσο απλοχερα διεθεσες για το προβλημα μου.
να εισαι καλα ΤΑΣΟ


ΝΙΚΟΛΑΣ


Η ώρα είναι 18:28.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2