Θέμα: VBA Sum bold and red

Εμφάνιση ενός μόνο μηνύματος
  #6  
Παλιά 12-06-18, 07:53
Το avatar του χρήστη Spirosgr
Spirosgr Ο χρήστης Spirosgr δεν είναι συνδεδεμένος
Συντονιστής
Όνομα: Σπύρος Τσιλιγιάννης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010, Ms-Office 2013, Ms-Office 2016, Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 22-11-2011
Περιοχή: Αθήνα
Μηνύματα: 2.321
Προεπιλογή

Καλημέρα.
Η έκφραση:
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
Συνημμένα Thumbnails
Sum bold and red-screenshot_1.jpg  
Απάντηση με παράθεση