Καλησπέρα
Morpheas σε
γενικές γραμμές, η απάντησή σου είναι σωστή...
Τώρα
Επειδή δεν έχουμε κάτι χειροπιαστό από τον Γιώργο, να πούμε τα εξής:
Έστω μια περιοχή σε ένα φύλλο (*Βλέπε εικόνα 1),
την οποία εισάγουμε σε μια listbox φόρμας userform1 (*Βλέπε εικόνα 2).
O
κανόνας για να μετρήσουμε τις εγγραφές της λίστας και
να τις εμφανίσουμε σε ένα textbox (TextBox1) είναι:
Κώδικας:
Me.TextBox1.Value = Me.ListBox1.ListCount
Αυτή την γραμμή, θα πρέπει να την εισάγουμε σε κάποιο κώδικα,
σε κάποιο κουμπί ή όπου μας εξυπηρετεί...
Εδώ έστω ότι θέλουμε να εμφανίζεται στο
άνοιγμα της φόρμας.
Στην ιδιότητα
Activate ή
Initialize της φόρμας έχουμε:
Κώδικας:
Private Sub UserForm_Initialize()
Me.TextBox1.Value = Me.ListBox1.ListCount
End Sub
Θα θέλαμε όμως να μετρήσουμε τις εγγραφές,
μόνο της δεύτερης στήλης.
Εκεί που έχουμε τα κείμενα και είναι 4.
Αν λοιπόν στα κελιά της περιοχής (*Βλέπε εικόνα 1) έχουμε κενά, τότε:
Κώδικας:
Option Explicit
Private Sub UserForm_Initialize()
Dim x As Long, iCount As Long
For x = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.List(x, 1) <> "" Then
iCount = iCount + 1
End If
Next
Me.TextBox1.Value = iCount
End Sub
Αυτό σε γενικές γραμμές λέει:
Στις εγγραφές της λίστας, από μηδέν μέχρι όσα μετρήσεις -1
(Στις λίστες πρώτη γραμμή = 0, πρώτη στήλη = 0)
πήγαινε στην στήλη αρ. 1 (δηλ την 2η) και αν δεν είναι κενό, άθροισε τις εγγραφές.
Αυτό το άθροισμα, εμφάνισε το στο TextBox1