Auto Borders Visual Basic

Τελευταία δημοσίευση από το μέλος kwstarikanos στις 08-19-2010 9:58 μμ. Υπάρχουν 0 απαντήσεις.
Σελίδα 1 από 1 (1 εγγραφές)
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  • 08-19-2010 9:58 μμ

    • kwstarikanos
    • Οι δημοφιλέστερες 10 δημοσιεύσεις
    • Μέλος από τις 12-21-2009
    • Δημοσιεύσεις 18

    Γειά σας ,

    Βρήκα στο 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" ξέρει κανείς τι να γράψω και σε πιό σημείο;



Σελίδα 1 από 1 (1 εγγραφές)