Εμφάνιση ενός μόνο μηνύματος
  #10  
Παλιά 24-12-12, 10:56
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλημέρα και χρόνια πολλά σε όλους!

Αγαπητέ φίλε Μανώλη,
η αντιγραφή - επικόλληση, είναι μια μέθοδος που εφαρμόζεται από τον χρήστη. Όχι από την VBA
η οποία εκτός του ότι θα είναι πιο αποδοτική αν απλά γράψει τις τιμές μια περιοχής σε μια άλλη, δεν θα επηρεάζει το πρόχειρο των Windows εν αγνοία του χρήστη.

Σκοπός είναι να μεταφέρουμε με VBA τα δεδομένα από το A στο Β. Δεν υπάρχει λόγος να αντιγράφουμε τις κινήσεις που θα έκανε ο χρήστης για να επιτύχει αυτή τη μεταφορά.

Παράδειγμα:
Κώδικας:
    Range("A1:F10").Copy
    Range("H1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
Χωρίς Copy και PasteSpecial:

Κώδικας:
Range("H1:M10").Value = Range("A1:F10").Value
H συνάρτηση SpecialCells() αν και είναι πολύ χρήσιμη θα επιστρέψει ένα αντικείμενο Excel.Range μόνο αν το δεύτερο προκύψει από τα ορίσματα που χρησιμοποιηθούν.

Σε κάθε άλλη περίπτωση η συνάρτηση θα επιστρέψει "Nothing" και προκαλεί σφάλμα χρόνου εκτέλεσης του κώδικα που θα πρέπει να παγιδευτεί από τον προγραμματιστή.

Καλή συνέχεια!

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

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