Θέμα: VBA Sum bold and red

Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 11-06-18, 19:18
Το 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
Προεπιλογή

Το σωστό είναι:

Κώδικας:
Sub SumBOLDRED()
    Dim LastRow As Long, i As Long, MySum As Double
    LastRow = Φύλλο1.Cells(Rows.Count, 1).End(xlUp).Row
    MySum = 0

    For i = 1 To LastRow
        If IsNumeric(Φύλλο1.Cells(i, 1)) And _
           Φύλλο1.Cells(i, 1).Font.Bold = True And _
           Φύλλο1.Cells(i, 1).Font.ColorIndex = 3 Then
            MySum = MySum + Cells(i, 1)
        End If
    Next i
    Φύλλο1.Range("k1").Value = MySum
End Sub
*Όπου Φύλλο1 το κωδικό όνομα φύλλου.
(Θα προτιμούσα να αλλαχθεί με κάτι σαν... Sht1)

**Αν θέλουμε να «τρέχει» σε κάθε ενεργό φύλλο, το αλλάζουμε με ActiveSheet.

Το σφάλμα, είναι στην γραμμή κώδικα, που βρίσκει την τελευταία γραμμή με «γεμάτο» κελί.

αντί
Κώδικας:
LastRow = Range("A1:A20").End(xlUp).Row
πρέπει
Κώδικας:
LastRow = Φύλλο1.Cells(Rows.Count, 1).End(xlUp).Row
***το MySum As Double είναι πολύ καλά στην μορφή που είναι,
διότι επιτρέπει μεγάλους αλλά και δεκαδικούς αριθμούς.
Απάντηση με παράθεση