Γειά σας ,
Βρήκα στο Forum του site ένα πολύ χρήσιμο κώδικα που προσθέτει γραμμές στο φύλλο εργασίας με το πάτημα ενώς κουμπιού αναλογα την κολώνα που θα ορίσουμε,
πχ για ενα φύλλο εργασίας που περιέχει καταχωρήσεις με ημερομηνίες είναι πολύ χρήσιμος γιατί ξεχωρίζει τις ημέρες με γραμμες.
Ο κώδικας είναι αυτός:
Sub DrawBordersForSameValues()
Dim rngDiffs As Range
Dim rngArea As Range
Dim intCols As Integer
On Error Resume Next
Application.ScreenUpdating = False
Set rngDiffs = Range("B2").CurrentRegion
intCols = rngDiffs.Columns.Count
rngDiffs.Borders(xlInsideHorizontal) _
.LineStyle = lContinuous
Set rngDiffs = rngDiffs.Columns(2) _
.ColumnDifferences(Range("B2"))
While Err = 0
For Each rngArea In rngDiffs.Areas
rngArea.Resize(, intCols) _
.BorderAround xlContinuous, xlMedium
Next rngArea
Set rngDiffs = rngDiffs _
.ColumnDifferences(rngDiffs(1))
Wend
Application.ScreenUpdating = True
End Sub
Δείτε το συνημμένο, τον κώδικα τον έβαλα έτσι ώστε κάθε φόρά που πατάμε το κουμπί "Enter" να ανοίγει το Dialog και κάθε φορά που πατάμε το κουμπί "Καταχώριση" να εκτελείται και η διαδικασία με τις γραμμές.
1) Όταν υπάρχουν λιγότερες απο 500 καταχωρίσεις στο φύλλο εργασίας δουλεύει άψογα,
το πρόβλημα είναι ότι στο δικό μου φύλλο εργασίας έχω πάνω από 3000 καταχωρίσεις και κάθε φορά που τρέχει ο κώδικας κάνει πάρα πολύ ώρα να τελιώσει γιατί αναλύει πάλι απο την αρχή όλες τις καταχωρίσεις για να βάλει τις γραμμές.
Θέλω να μου πείτε πως μπορώ να ρυθμίσω το "Range" και κάθε φορά που τρέχει ο κώδικας να μην διαβάζει όλο το φύλλο εργασίας από την αρχή,
να βρω δηλαδή έναν τρόπο να το κάνω να δουλέυει μετά τις 3000 καταχωρήσεις και όχι από την αρχή ξανά και ξανά γιατί αυτό είναι αρκετά χρονοβόρο..
2) Θέλω να αλάξω το στυλ της γραμμής και από "Thick box border" να την κάνω "Bottom Double Border" όπως είναι και στην κολώνα "K" ξέρει κανείς τι να γράψω και σε πιό σημείο;