Τιμές επικόλλησης VBA | Κορυφαίες 3 συμβουλές για αντιγραφή και επικόλληση τιμών χρησιμοποιώντας το VBA
Τιμές επικόλλησης Excel VBA
Το Copy & Paste δεν είναι η καλύτερη δουλειά στον κόσμο !!! Αλλά η αντιγραφή και επικόλληση με ειδική επιλογή απαιτεί κάποιου είδους γνώσεις στο VBA. Αυτή δεν είναι η απλή διαδικασία όπως το απλό αντίγραφο & επικόλληση. Μία από τις σημαντικές ειδικές μεθόδους επικόλλησης είναι "Επικόλληση τιμών" στο VBA.
Πώς να επικολλήσετε τιμές στο Excel χρησιμοποιώντας το VBA;
Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA Paste Value Excel εδώ - Πρότυπο VBA Paste Value ExcelΠαράδειγμα # 1 - Χρήση ειδικής επικόλλησης
Για παράδειγμα, δείτε την παρακάτω εικόνα φύλλου εργασίας.
Στο κελί B6, εφαρμόσαμε τον τύπο για τον υπολογισμό των συνολικών τιμών πωλήσεων από κελιά B2 έως B5. Τώρα αν αντιγράψω και επικολλήσω το κελί B6 έως C6 δεν θα λάβω την τιμή 22.761 αλλά θα λάβω τον αντίστοιχο τύπο.
Για να πραγματοποιήσουμε το ίδιο πράγμα στο VBA χρειαζόμαστε γνώσεις κωδικοποίησης. Θα σας δείξουμε πώς να επικολλήσετε τιμές χρησιμοποιώντας το VBA. Ακολουθήστε τα παρακάτω βήματα.
Βήμα 1: Αντιγράψτε το κελί B6.
Για να αντιγράψετε το κελί B6 χρησιμοποιήστε τον κωδικό ως Range ("B6")
Βήμα 2: Επιλέξτε το κελί προορισμού. Σε αυτήν την περίπτωση, κελί C6.
Όπως μπορείτε να δείτε μετά το αντίγραφο ρωτάει "Destination". Αυτό δεν είναι τίποτα άλλο εκτός από το πού θέλετε να επικολλήσετε, οπότε επιλέξτε το "Destination" ως Range ("C6")
Κώδικας:
Sub Paste_Values () Range ("B6"). Copy Range ("C6") End Sub
Βήμα 3: Εκτελέστε τον κώδικα
Εκτελέστε αυτόν τον κωδικό θα λάβουμε το αντίγραφο B6 στο C6.
Έχουμε μόνο τον τύπο εδώ.
Βήμα 4: Εκτελέστε μια ειδική μέθοδο επικόλλησης.
Για να εκτελέσετε ειδική μέθοδο επικόλλησης ας δούμε την παρακάτω σύνταξη ειδικής μεθόδου επικόλλησης.
Στην ειδική μέθοδο επικόλλησης, έχουμε αρκετές μεθόδους. Με βάση τη λειτουργία που κάνουμε πρέπει να επιλέξουμε τον τύπο ανάλογα.
Για να καταλάβουμε ας σπάσουμε τον κώδικα σε δύο γραμμές.
Το πρώτο είναι η αντιγραφή του κελιού B6.
Τώρα στην επόμενη γραμμή γράψτε το κελί προορισμού ως Range ("C6")
Τώρα για πρόσβαση στην Ειδική μέθοδο επικόλλησης βάλτε μια κουκκίδα και αρχίστε να πληκτρολογείτε το γράμμα "P".
Στην παραπάνω ποικιλία επιλογών επιλέξτε τη μέθοδο "Επικόλληση ειδικού".
Αφού επιλέξετε τη μέθοδο πατήστε το πλήκτρο διαστήματος για να δείτε τις διάφορες ειδικές μεθόδους επικόλλησης.
Σε αυτήν την ποικιλία επιλογών επιλέξτε "xlPasteValues".
Αφού ορίσετε την επιλογή πατήστε το πλήκτρο tab για αυτόματη επιλογή.
Κώδικας:
Sub Paste_Values () Range ("B6"). Copy Range ("C6"). PasteSpecial xlPasteValues End Sub
Βήμα 5: Εκτελέστε τον κώδικα
Τώρα εκτελέστε τον κώδικα, θα πρέπει να λάβουμε μόνο την τιμή του κελιού B6 στο κελί C6.
Εάν παρατηρήσετε το φύλλο εργασίας μετά την εκτέλεση του κώδικα, εξακολουθεί να βρίσκεται μόνο στη λειτουργία αντιγραφής.
Αυτό θα απενεργοποιήσει τη λειτουργία αποκοπής αντιγραφής μετά την εκτέλεση της ειδικής μεθόδου επικόλλησης.
Παράδειγμα # 2 - Επικόλληση ειδικού με βρόχους
Η ειδική επικόλληση είναι εύκολη, αλλά όσον αφορά τη χρήση αυτού ως μέρος ενός μεγάλου κώδικα απαιτείται ένα προηγμένο επίπεδο δεξιοτήτων κωδικοποίησης.
Για παράδειγμα δείτε την παρακάτω εικόνα.
Στην παραπάνω εικόνα του φύλλου εργασίας στη στήλη "F" έχουμε συνολική στήλη, δηλαδή στα κελιά F2, F5, F8, F11 και F14.
Τώρα η απαίτησή μου είναι να αντιγράψω κάθε συνολικό κελί από το αντίστοιχο κελί και να επικολλήσω τη στήλη "H" με αντίστοιχα κελιά.
Χρησιμοποιώντας τον παρακάτω κώδικα, με βρόχους VBA, μπορούμε να το κάνουμε αυτό.
Κώδικας:
Sub Paste_Values1 () Dim k As Integer Dim j As Integer j = 2 For k = 1 to 5 Cells (j, 6). Copy Cells (j, 8). PasteSpecial xlPasteValues j = j + 3 Next k End Sub
Αυτός ο κώδικας με ειδική επιλογή επικόλλησης θα εκτελέσει την εργασία αντιγραφής κάθε συνολικού κελιού και επικόλλησης στη στήλη "H" με αντίστοιχα κελιά.
Παράδειγμα # 3 - Αντιγραφή από φύλλο εργασίας σε άλλο
Για να επικολλήσετε τιμές από το ένα φύλλο εργασίας στο άλλο, πρέπει να αναφέρουμε και τα δύο ονόματα του φύλλου εργασίας. Παρακάτω είναι ένα παράδειγμα αυτού.
Sub Paste_Values2 () Worksheets ("Sheet1"). Range ("A1"). Αντιγράψτε φύλλα εργασίας ("Sheet2"). Range ("A15"). PasteSpecial xlPasteValues End Sub