![]() |
Sum bold and red 1 Συνημμένο(α) Ποιό είναι το λάθος που έχει ο κώδικας ( το αρχείο είναι απο το διαδίκτυο) και δεν λειτουργεί; Ευχαριστώ ! |
Το σωστό είναι: Κώδικας: Sub SumBOLDRED()(Θα προτιμούσα να αλλαχθεί με κάτι σαν... Sht1) **Αν θέλουμε να «τρέχει» σε κάθε ενεργό φύλλο, το αλλάζουμε με ActiveSheet. Το σφάλμα, είναι στην γραμμή κώδικα, που βρίσκει την τελευταία γραμμή με «γεμάτο» κελί. αντί Κώδικας: LastRow = Range("A1:A20").End(xlUp).RowΚώδικας: LastRow = Φύλλο1.Cells(Rows.Count, 1).End(xlUp).Rowδιότι επιτρέπει μεγάλους αλλά και δεκαδικούς αριθμούς. |
1 Συνημμένο(α) Καλησπέρα Και μια πρόταση, με συνάρτηση, στο συνημμένο. Τη θεωρώ πιο ευέλικτη. Αθροίζει τα κελιά που η γραμματοσειρά είναι είτε Bold είτε Red είτε και τα δύο. Με μια μικρή αλλαγή στον κώδικα μπορεί να αθροίζει μόνο τα κελιά που η γραμματοσειρά είναι ταυτόχρονα και Bold και Red. |
Ευχαριστώ πολύ ! Να είστε καλά ! |
Καλημέρα ! Σπύρο τι εννοείς όταν λες ότι βρίσκει την τελευταία γραμμή με << γεμάτο>> κελί; Ευχαριστώ πολύ! |
1 Συνημμένο(α) Καλημέρα. Η έκφραση: Cells(Rows.Count, 1).End(xlUp).Row που σε «ελεύθερη» μετάφραση γίνεται: κελιά(γραμμές.μέτρησε, στην στήλη 1).πήγαινε στο τέλος των γραμμών(και ανέβα προς τα πάνω).γραμμή δίνεται σε μια μεταβλητή πχ LastRow = την οποία ορίζουμε ως Long (Dim LastRow As Long) να είναι δηλαδή μεγάλος ακέραιος και βρίσκει την τελευταία γραμμή μιας στήλης που έχει δεδομένα (*βλέπε εικόνα) Στην προκειμένη περίπτωση, θα επιστρέψει το 20 (γραμμή 20) για να το χρησιμοποιήσουμε στον κώδικα μας και να πάρουμε την τιμή 200 για παράδειγμα ή Cells(Rows.Count, 1).End(xlUp).Row+1 για να βάλουμε κάτι άλλο στο αμέσως πιο κάτω κενό κελί (γραμμή 21) ή ότι άλλο ανάλογα με τις ανάγκες του κώδικα που χτίζουμε. Η μέθοδος End(xlUp) μέσα στην έκφραση, μας εξασφαλίζει το σωστό αποτέλεσμα, καθώς σε σχέση με το αντίστοιχο End(xlDown) θα παραβλέψει τα κενά κελιά της στήλης. θα πάει στον πάτο του φύλλου και ανεβαίνοντας, θα «τρακάρει» στο κελί της γραμμής 20, πράγμα που είναι το ζητούμενο, σε αντίθεση με το End(xlDown) που θα έδινε γραμμή 9, που δεν είναι το επιθυμητό. Ακόμα Με όμοιο τρόπο, μπορούμε να έχουμε και την τελευταία γεμάτη στήλη μιας περιοχής, με την έκφραση: LastCol = Cells(1, Columns.Count).End(xlToLeft).Column και εδώ το LastCol ορίζεται ως Long |
Ευχαριστώ πολύ ! |
| Η ώρα είναι 05:45. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.