Ανανέωση ιστοσελίδας

Excel - Ερωτήσεις / Απαντήσεις Ότι έχει σχέση με συναρτήσεις, μορφοποίηση, εκτυπώσεις γραφήματα κτλ.

 

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
Prev Προηγούμενο μήνυμα   Επόμενο Μήνυμα Next
  #6  
Παλιά 28-10-11, 11:23
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα φίλε μου!
Παράθεση:
΄Μπορώ με copy στην vba να αντιγράψω την στηλη Α ,
από το Α6 και όσα κελιά προς τα κάτω έχουν τιμές , στο D6 ?
Νομίζω ότι πήρες ακριβώς ότι ζήτησες δηλαδή αντιγραφή όσων κελιών προς τα κάτω έχουν τιμές.

Τα κενά κάτω από τη χρησιμοποιημένη περιοχή δεν έχουν σημασία.

Το "ξεχείλωμα" του φύλλου δεν έχει επίπτωση στον όγκο και επομένως στη φόρτωση/αποθήκευση του βιβλίου εργασίας αφού είναι προσωρινό.
Όταν δηλαδή αποθηκεύσεις το βιβλίο θα διαπιστώσεις (παρατηρώντας την κάθετη μπάρα κύλισης) ότι το συγκεκριμένο φύλλο επανέρχεται
στο φυσιολογικό του μήκος.

Τώρα στον κώδικα που αναφέρεσαι βλέπω 2 σημαντικά λάθη:

1) χρησιμοποιείται Array όταν όλο το φύλλο είναι και επεξεργάζεται σαν Array από την ίδια την Excel .

2) Με τη χρήση του UsedRange.Rows.Count δεν είναι σίγουρο ότι θα επιστραφεί το νούμερο της τελευταίας γραμμής
αφού το UsedRange (χρησιμοποιημένη περιοχή του φύλλου) μπορεί να ξεκινά από την 3η γραμμή για παράδειγμα και συνεπώς να επιστρέψει ένα νούμερο - 3 !!!

Γενικότερα σε ενέργειες πάνω στο υπολογιστικό φύλλο, το γρηγορότερο αντικείμενο είναι το Range και αυτό πρέπει να χρησιμοποιείται.

Παρόλα αυτά αν θέλεις να αντιγράφεις μόνο όσα κελιά περιέχουν τιμές και όχι μέχρι την τελευταία σειρά ( 1048576 ) μπορείς να χρησιμοποιήσεις αυτό:

Κώδικας:
Sub CopyRange()
    With Worksheets("Sheet1")   'όπου "Sheet1" = το όνομα του φύλλου στο οποίο γίνεται η ενέργεια αυτή.
        Dim LRow As Long
        LRow = .Range("A" & Rows.Count).End(xlUp).Row
        .Range("D6", "D" & Rows.Count).ClearContents
        .Range("D6", "D" & LRow).Value = .Range("A6", "A" & LRow).Value
    End With
End Sub
Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 28-10-11 στις 12:43.
Απάντηση με παράθεση
 


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Εκθέσεις ] Ανάπτυξη στήλης xristos Access - Ερωτήσεις / Απαντήσεις 0 25-05-15 11:24
[Γενικά] Αυτόματη εννημέρωση στήλης από άλλες xristos Excel - Ερωτήσεις / Απαντήσεις 7 15-02-12 22:27
[Excel07] Χρωματισμός στήλης laziali21 Excel - Ερωτήσεις / Απαντήσεις 2 26-08-11 16:00
[Μορφοποίηση] Μετονομασία στήλης κελιών adonio Excel - Ερωτήσεις / Απαντήσεις 3 26-05-11 10:39
[Συναρτήσεις] Ενημέρωση στήλης fredygr2 Excel - Ερωτήσεις / Απαντήσεις 2 23-03-10 08:56


Η ώρα είναι 04:20.