Forum

Forum (https://www.ms-office.gr/forum/)
-   Excel - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/)
-   -   [ Πρόσθετα ] Απόκρυψη Γραμμών (https://www.ms-office.gr/forum/excel-erotiseis-apantiseis/1578-apokrypsi-grammon.html)

ΤΖΙΜΗΣ 18-01-12 10:55

Απόκρυψη Γραμμών
 
1 Συνημμένο(α)
Καλημέρα σε όλο το forum.Θα ήθελα μια μικρή βοήθεια όχι μόνο ως προς την επίλυση αλλά όσο αφορά και ως προς την υλοποίηση.Στο πρδ που επισυνάπτω υπολογίζω μια μισθοδοσία.Στο φύλλο υπάρχουν ωρομίσθιοι οι οποίοι είναι ενεργοί (κωδικός 1) και ωρομίσθοι ανενεργοί (κωδικός 0).Αυτό που θέλω είναι οι ωρομίσθοι που έχουν κωδικό 0 όταν επιλέγω από το κουμπί επιλογής εμφάνιση ενεργών να αποκρύπτονται,(γραμμές) ενώ στην αντίθετη περίπτωση να εμφανίζονται όλοι. Βασική προυπόθεση όταν ανοίγει το φύλλο εργασίας να εμφανίζονται πάντοτε ως προεπιλογή οι ενεργοί ωρομίσθιοι.Δεν ξέρω αν έτσι όπως έχω ορίσει το φύλλο εργασίας με τους ενεργούς και ανενεργούς θέτοντας ως κωδικό 1 ή 0 είναι και ο πιο ενδεδειγμένος τρόπος.
Ευχαριστώ εκ των προτέρων όλους τους φίλους.
Με εκτίμηση Τζίμης.

Spirosgr 18-01-12 11:37

ΕΜΦΑΝΗΣΗ ΕΝΕΡΓΩΝ
 
1 Συνημμένο(α)
Καλημέρα
Πολλές φορές θέλοντας να κάνουμε πιο εφετζίδικο το φύλλο μας βάζουμε κουμπιά παρακουμπιά
κλπ με αποτέλεσμα να μπερδεύουμε τα πράγματα πολύ ενώ στην ουσία είναι απλά.
Κάνε τα δεδομένα σου πίνακα και χρησιμοποίησε το φίλτρο για να έχεις ότι αποτέλεσμα θέλεις απλά και γρήγορα.
Δες το παράδειγμα που άλλαξα στο φύλλο σου.
Αν οπωσδήποτε πρέπει να γίνει με κουμπιά το ξανασυζητάμε.

ΤΖΙΜΗΣ 18-01-12 21:37

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

Tasos 19-01-12 08:30

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

Τζίμη, με την εφαρμογή του αυτόματου φίλτρου σε ένα φύλλο αποκρύπτονται οι φιλτραρισμένες
γραμμές με τον καλύτερο και ταχύτερο τρόπο.
Συνεπώς θα πρέπει να αυτοματοποιήσεις την εφαρμογή του αυτόματου φίλτρου χρησιμοποιώντας VBA.
Αφού συμφωνήσω με το Σπύρο για τα κουμπιά και παρακουμπιά :biggrin:
και με βάση το παράδειγμα σου και τις δύο επιλογές (Ενεργοί - Ανενεργοί) θα πρότεινα:

Στο φύλλο1 (που έχει κωδικό όνομα: Tabelle1) αρκεί ένα πλαισίου ελέγχου της Excel (όχι ActiveX)
που θα συνδεθεί με το κελί A1 (Βοήθεια εδώ: Προσθήκη πλαισίου ελέγχου, κουμπιού επιλογής ή κουμπιού εναλλαγής σε φύλλο εργασίας - Excel - Office.com ).

Κατόπιν, στον VBE και στο "ThisWorkbook" (στο συνημμένο σου "DieseArbeitsmappe"),
πέρασε τον παρακάτω κώδικα για να φιλτράρεται το φύλλο "Φύλλο1":

Κώδικας:

Option Explicit

Private Sub Workbook_Open()
    If Not Tabelle1.Range("A1") Then
        Tabelle1.Range("A1") = True  ' Tabelle1 = το όνομα κλάσης του φύλλου
        SetAutoFilter
    End If
End Sub

Σε μια κοινή λειτουργική μονάδα πέρασε την παρακάτω μακροεντολή
και αντιστοίχησε την στο πλαισίου ελέγχου που αναφέρεται παραπάνω:

Κώδικας:

Option Explicit

Sub SetAutoFilter()
    Dim i As Integer, FilterRange As Range
    With Tabelle1
        If .Range("A1") Then
        Application.ScreenUpdating = False
            Set FilterRange = Range("A6:H" & Rows.Count)
            FilterRange.AutoFilter Field:=1
            For i = 1 To .AutoFilter.Filters.Count
                FilterRange.AutoFilter Field:=i, VisibleDropDown:=False
            Next
            FilterRange.AutoFilter Field:=1, Criteria1:="1"
'            Application.ScreenUpdating = True
        Else
            .AutoFilterMode = False
        End If
    End With
End Sub

Δοκίμασε και... τα λέμε.

Φιλικά

Τάσος

gr8styl 19-01-12 09:10

1 Συνημμένο(α)
Καλημέρα σας και από μένα.
Μιας και το εφτιαξα, αν δεν θέλουμε να χρησιμοποιήσουμε VBA ή Φίλτρο, δείτε στο συνημμένο μια ακόμη προσσέγγιση.

Spirosgr 19-01-12 10:09

1 Συνημμένο(α)
Και μια απλή εφαρμογή (ως συνήθως) αυτοματοποίησης του φίλτρου
Αν αλλάξει το όνομα του πίνακα ή κάτι άλλο πρέπει να διορθωθεί η μακροεντολή

ΤΖΙΜΗΣ 19-01-12 13:24

Σας ευχαριστώ όλους.Θα μελετήσω την κάθε μία περίπτωση ξεχωριστά και αν είναι κάτι που δεν κατανοώ θα επανέλθω.
Σας ευχαριστώ και πάλι από καρδίας.

ΤΖΙΜΗΣ 20-01-12 11:44

Μια ερώτηση για το Σπύρο και το Θανάση θα ήθελα να κάνω:
Σπύρο πως ορίστηκε το όνομα του πίνακα "Πίνακας1" στη μακροεντολή και όχι κάποιο άλλο όνομα;
και
Θανάση η σύνδεση του κουμπιού επιλογής έγινε με προφανώς με τη συνάρτηση if πάιρνοντας την τιμή 1 ή 2; και για την απόκρυψη των γραμμών ποια συνάρτηση χρησιμοποιείται;
Ευχαριστώ

Spirosgr 20-01-12 13:47

Το όνομα του Πίνακα το ορίζεις εσύ
Δεν ξέρω πως γίνετε στο Office 2003 που έχεις (έχω το 2010) αλλά προφανώς
πατώντας πάνω στον πίνακα θα σου δείχνει κάτι σε
Ιδιότητες, επεξεργασία, σχεδίαση πίνακα ή κάτι παρόμοιο
και εκεί ο κάθε πίνακας από το excel παίρνει εξ' ορισμού ένα όνομα
Πίνακας1 Πίνακας2 κλπ
εκεί μπορείς να το αλλάξεις σε ότι όνομα θέλεις
ΠΡΟΣΟΧΉ Όνομα χωρίς κενά ΠΧ myTimeTable
Από 'κεί και πέρα το όνομα αυτό χρησιμοποιείς παντού
και στις Μακροεντολές είτε το παίρνει αυτόματα αν κάνεις καταγραφή είτε το βάζεις εσύ αν "φτιάχνεις" την εντολή μόνος σου

gr8styl 20-01-12 16:35

Παράθεση:

Αρχική Δημοσίευση από ΤΖΙΜΗΣ (Μήνυμα 9126)
...Θανάση η σύνδεση του κουμπιού επιλογής έγινε με προφανώς με τη συνάρτηση if πάιρνοντας την τιμή 1 ή 2; και για την απόκρυψη των γραμμών ποια συνάρτηση χρησιμοποιείται;

Τζίμη,
κάνοντας δεξί κλικ στο στοιχείο ελέγχου επιλέγεις μορφοποίηση στοιχείου ελέγχου και καθορίζεις το κελί σύνδεσης ($a$3 στο παράδειγμά μου)
Έτσι ανάλογα το ποιό κουμπί έχεις τσεκάρει το κελί ($a$3) παίρνει την τιμή 1 ή 2.
Η στήλη Ι (με την εντολή IF) καθορίζει αν η γραμμή πρέπει να εμφανιστεί ή όχι.
Η στήλη J απλά απαριθμεί συνεχόμενα τις γραμμές που πρέπει να εμφανιστούν και τέλος οι στήλες Κ μέχρι R απλά εμφανίζουν τις γραμμές την μια μετά την άλλη.
Στην ουσία δεν γίνεται απόκρυψη γραμμών απλά κάποιες γραμμές (αυτές που έχουν κενό στην στήλη I) από τις στήλες Α μέχρι Η δεν υπάρχουν στις στήλες Κ μέχρι R όταν επιλέξουμε "εμφάνιση ενεργών".
Οι στήλες Κ μέχρι R θα μπορούσαν να είναι σε άλλο φύλλο και όχι υποχρεωτικά στο ίδιο.

Θανάσης
ΥΓ. Στο 2003 για να ορίσεις κάποιο όνομα επιλέγεις την περιοχή που θέλεις και μέσω του μενου Εισαγωγη/Ονομα/Καθορισμός (Insert/Name/Define) καθορίζεις το όνομα που θέλεις.


Η ώρα είναι 15:35.

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


Search Engine Optimization by vBSEO 3.3.2