Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ. |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Καταμέτρηση φανερών γραμμών.
Καλησπέρα στην παρέα του forum! Το πρόβλημα που αντιμετώπισα ήταν να εφαρμόσω μια συνάρτηση COUNT σε ένα φύλλο εργασίας όπου είχε εφαρμοστεί ένα φίλτρο. Έτσι πχ από τις 100 εγγραφές ήταν εμφανείς οι 50. Εφαρμόζοντας όμως την COUNT διαπίστωσα οτι καταμετρούσε και τις 100 γραμμές (και αυτές που ήταν κρυφές). Από αναζήτηση στο internet βρήκα αυτό τον κώδικα και ο οποίος αντιμετώπισε το πρόβλημα: Function MyRowCount(MyRange As Range) As Integer Dim c As Range For Each c In MyRange If (c.Value > 0) And (c.EntireRow.Hidden = False) Then MyRowCount = MyRowCount + 1 End If Next c End Function Ήθελα να ρωτήσω την παρέα εάν έχει να προτείνει βελτιώσεις στον κώδικα που έκανα post. Ευχαριστώ για τον χρόνο σας! |
#2
| |||
| |||
Καλησπέρα σε όλους. Φώτη, μπορείς να λύσεις το πρόβλημά σου, χρησιμοποιώντας την SUBTOTAL. Δες και το δειγματάκι που σου στέλνω. Πές μας, αν έγινε |
#3
| ||||
| ||||
Καλησπέρα Φώτη! Δοκίμασε τον παρακάτω κώδικα εκτελώντας το Sub test(): Κώδικας: Sub test() If ActiveSheet.AutoFilterMode Then MsgBox CountAutofilterVisibleLines(ActiveSheet.AutoFilter.Range) Else MsgBox "Δεν υπάρχει αυτόματο φίλτρο!" End If End Sub Function CountAutofilterVisibleLines(AutoFilterRange As Range) As Long CountAutofilterVisibleLines = AutoFilterRange.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1 ' Το -1 παραλείπεται αν η κεφαλίδα του φίλτρου περιέχει δεδομένα. End Function Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#4
| |||
| |||
Καλησπέρα στην παρέα του forum! Φίλε Λευτέρη, η λύση που έδωσες με την SUBTOTAL δούλεψε ρολόϊ. Το απλό είναι και καλό. Σε ευχαριστώ! Προσωπικά προτιμώ τις λύσεις της VBA γιατί είναι πιο "μαθηματικές" λύσεις. Ισχύουν για όλες τις περιπτώσεις και όλες τις μελλοντικές τροποποιήσεις ενός βιβλίου εργασίας. Ευελπιστώ να μάθω κάποια στιγμή να μπορώ να δουλέψω με την VBA. Φίλε Τάσο, δοκίμασα τον κώδικα και δουλεύει άψογα και σε ευχαριστώ για την λύση! Υπάρχει η δυνατότητα να μετατραπεί ο κώδικας, έτσι ώστε να απαριθμεί ΜΟΝΟ τις γραμμές που έχουν στοιχεία? π.χ. έχω ένα φύλλο με 200 εγγραφές, φιλτράρω τις 100 από αυτές και θέλω να γνωρίζω την πρόοδο ενημερωσής ενός συγκεκριμένου πεδίου κάθε φιλτραρισμένης εγγραφής. (30/100, 45/100). Σας ευχαριστώ πάντως και τους δύο για τις προτάσεις σας και τον χρόνο που διαθέσατε. |
#5
| ||||
| ||||
Φώτη καλησπέρα! Το ζητούμενο σου ήταν η καταμέτρηση των εμφανών γραμμών ενός φίλτρου. Όχι πόσα μη κενά κελιά περιέχει μια φιλτραρισμένη στήλη (αυτό το κάνει η Subtotal() που πολύ σωστά πρότεινε ο Λευτέρης). Αυτός ήταν και ο λόγος που σου πρότεινα λύση με VBA. Αν θέλεις να αντικαταστήσεις την Subtotal() με VBA τότε άλλαξε τη μοναδική γραμμή στη συνάρτηση CountAutofilterVisibleLines όπως φαινεται παρακάτω: CountAutofilterVisibleLines = WorksheetFunction.Subtotal(3, AutoFilterRange.Columns(1)) - 1 Θα πρέπει να προσαρμόσεις το "Columns(1) " με τον αριθμό που αναλογεί στη στήλη σύμφωνα με την κατάταξη της στην περιοχή του φίλτρου. Καλή συνέχεια! Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#6
| |||
| |||
Καλησπέρα! Σε ευχαριστώ Τάσο. |
#7
| |||
| |||
Καλησπέρα! Σχετικά με την απάντηση του Λευτέρη να παραθέσω τον ακόλουθο πίνακα για την αντιστοιχία τιμών και συναρτήσεων της συνάρτησης SUBTOTAL. 1 AVERAGE 2 COUNT 3 COUNTA 4 MAX 5 MIN 6 PRODUCT 7 STDEV 8 STDEVP 9 SUM 10 VAR 11 VARP |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Συναρτήσεις] Καταμέτρηση αδειων | manolis | Excel - Ερωτήσεις / Απαντήσεις | 9 | 03-11-16 11:20 |
Καταμέτρηση επισκέψεων σε πελάτη | bdim20 | Access - Ερωτήσεις / Απαντήσεις | 6 | 18-02-15 10:32 |
[Συναρτήσεις] Καταμέτρηση κελιών | stelianta | Excel - Ερωτήσεις / Απαντήσεις | 8 | 15-01-14 18:10 |
[Συναρτήσεις] Καταμέτρηση τιμών | ΓιάννηςΔάσκαλος | Excel - Ερωτήσεις / Απαντήσεις | 4 | 04-03-12 00:07 |
[Συναρτήσεις] Καταμέτρηση υπό όρους - Countif | fulldeen | Excel - Ερωτήσεις / Απαντήσεις | 6 | 13-04-10 14:32 |
Η ώρα είναι 21:13.