Επικόλληση αντιγραφής VBA - Κορυφαίοι τρόποι αντιγραφής και επικόλλησης στο VBA (με παραδείγματα)

Το Copy Paste στο VBA είναι παρόμοιο με αυτό που κάνουμε στο φύλλο εργασίας excel, όπως μπορούμε να αντιγράψουμε μια τιμή και να το επικολλήσουμε σε άλλο κελί, επίσης μπορούμε να χρησιμοποιήσουμε επικόλληση ειδικά για να επικολλήσουμε μόνο τις τιμές, παρόμοια στο VBA χρησιμοποιούμε τη μέθοδο αντιγραφής με ιδιότητα εύρους έως αντιγράψτε μια τιμή από το ένα κελί στο άλλο και για να επικολλήσετε την τιμή χρησιμοποιούμε τη συνάρτηση επικόλλησης ειδικής φύλλου εργασίας ή τη μέθοδο επικόλλησης.

Πώς να αντιγράψετε επικόλληση στο VBA;

Ακολουθούν ορισμένα παραδείγματα για τον τρόπο αντιγραφής-επικόλλησης στο Excel χρησιμοποιώντας το VBA.

Το βασικό πράγμα που κάνουμε στο excel είναι να αντιγράψουμε, να κόψουμε και να επικολλήσουμε τα δεδομένα από το ένα κελί στο άλλο κελί. Δεν απαιτεί καμία ειδική εισαγωγή επίσης. Ωστόσο, κατά την εκμάθηση της κωδικοποίησης VBA είναι σημαντικό να κατανοήσουμε την ίδια έννοια στη γλώσσα κωδικοποίησης. Το Copy Paste στο VBA είναι η ρουτίνα που κάνουμε καθημερινά στο Excel. Για να αντιγράψετε πρώτα, πρέπει να αποφασίσουμε ποιο κελί θα αντιγράψετε.

Παράδειγμα # 1 - Αντιγραφή και επικόλληση τιμών με χρήση αντικειμένου εύρους

Ας υποθέσουμε ότι έχετε τη λέξη "Excel VBA" στο κελί A1.

Ας πούμε, για παράδειγμα, αν θέλετε να αντιγράψετε το κελί A1 μπορούμε να χρησιμοποιήσουμε το αντικείμενο VBA RANGE.

Κώδικας:

Sub Copy_Example () Εύρος ("A1"). Τέλος Υποτ

Τη στιγμή που αναφέρετε το κελί, μπορούμε να δούμε όλες τις ιδιότητες και τις μεθόδους με αυτό. Επιλέξτε λοιπόν τη μέθοδο " Αντιγραφή".

Κώδικας:

Sub Copy_Example () Εύρος ("A1"). Αντιγραφή End Sub

Αφού επιλέξετε τη μέθοδο, πατήστε το πλήκτρο διαστήματος για να δείτε το επιχείρημα της μεθόδου Αντιγραφή.

Λέει Destination.

Αυτό δεν είναι τίποτα, αλλά πού θέλετε να αντιγράψετε-επικολλήσετε τιμές στο VBA χωρίς να επιλέξετε τη μέθοδο PASTE.

Εάν επικολλάμε στο ίδιο φύλλο, μπορούμε να επιλέξουμε το κελί χρησιμοποιώντας το αντικείμενο Range. Ας πούμε αν θέλουμε να επικολλήσουμε την τιμή στο κελί B3, μπορούμε να θέσουμε τον προορισμό ως "Range (" B3 ")."

Κώδικας:

Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub

Αυτό θα αντιγράψει τα δεδομένα από το κελί A1 και θα επικολλήσει στο κελί B3.

Μπορούμε επίσης να χρησιμοποιήσουμε την παρακάτω μέθοδο για να επικολλήσουμε τα δεδομένα.

Κώδικας:

Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Επιλέξτε ActiveSheet.Paste End Sub

Αρχικά, θα αντιγράψουμε και θα επιλέξουμε τα δεδομένα από το κελί A1 και θα επικολλήσουμε στο κελί B3.

Παράδειγμα # 2 - Αντιγραφή σε άλλο φύλλο εργασίας στο ίδιο βιβλίο εργασίας

Τώρα, εάν θέλουμε να αντιγράψουμε την τιμή από τα διαφορετικά φύλλα εργασίας χρησιμοποιώντας τη μακροεντολή VBA, τότε στο όρισμα Προορισμός, πρέπει να αναφέρουμε το όνομα του φύλλου χρησιμοποιώντας το αντικείμενο WORKSHEETS και στη συνέχεια να αναφέρουμε το εύρος των κελιών σε αυτό το WORKSHEET. Ο παρακάτω κώδικας θα κάνει τη δουλειά.

Κώδικας:

Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Εάν θέλουμε να αντιγράψουμε τα δεδομένα από ένα συγκεκριμένο φύλλο και θέλουμε να επικολλήσουμε σε ένα άλλο συγκεκριμένο φύλλο, πρέπει να αναφέρουμε και τα δύο ονόματα των φύλλων.

Πρώτον, πρέπει να αναφέρουμε το φύλλο αντιγραφής.

Φύλλα εργασίας ("Φύλλο1"). Εύρος ("A1"). Αντιγραφή

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

Προορισμός: = Φύλλα εργασίας ("Φύλλο2"). Εύρος ("B3")

Έτσι, ο κώδικας θα πρέπει να αρέσει.

Κώδικας:

Sub Copy_Example () Φύλλα εργασίας ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub

Παράδειγμα # 3 - Αντιγραφή από ένα βιβλίο εργασίας σε άλλο βιβλίο εργασίας

Έχουμε δει πώς να αντιγράψουμε από φύλλο εργασίας σε άλλο φύλλο εργασίας στο ίδιο βιβλίο εργασίας. Αλλά μπορούμε επίσης να το κάνουμε αυτό από ένα βιβλίο εργασίας σε ένα άλλο βιβλίο εργασίας.

Ρίξτε μια ματιά στον παρακάτω κώδικα.

Κώδικας:

SubCopy_Example () Βιβλία εργασίας ("Βιβλίο 1.xlsx"). Φύλλα εργασίας ("Φύλλο1"). Εύρος ("A1"). Αντιγράψτε βιβλία εργασίας ("Βιβλίο 2.xlsx"). Ενεργοποιήστε το ActiveWorkbook. Φύλλα εργασίας ("Φύλλο 2"). Επιλέξτε ActiveSheet.Paste End Sub

Πρώτον, θα αντιγράψει τα δεδομένα από το φύλλο εργασίας "Sheet1" στο βιβλίο εργασίας "Book1.xlsx" από το κελί A1.

Workbooks("Book 1.xlsx").Worksheets("Sheet1").Range("A1").Copy”

Then it will activate the workbook “Book 2.xlsx”.

Workbooks("Book 2.xlsx").Activate

In the active workbook, it will select the worksheet “Sheet 2.”

ActiveWorkbook.Worksheets("Sheet 2").Select

Now in the active sheet, it will paste.

ActiveSheet.Paste

Alternative Way for using Copy-Paste in VBA

We have one more alternative way of having the data from one cell to another cell. Assume you have the word “Excel VBA” in the cell A1 and you need the same to come in cell B3.

One method we have seen is using the VBA copy and paste method. Now I will show you one of the alternative ways. Look at the below piece of code to understand.

Code:

Sub Copy_Example1() Range("A1").Value = Range("B3").Value End Sub

The above says whatever the value is there in the cell A1 should be equal to the value in the cell B3.

Range("A1").Value = Range("B3").Value

Even though this is not a copy and paste method still adds more value to our coding knowledge.

Top Ways of VBA Copy and Paste as Values

Now we will see different ways of VBA copy and paste values. Assume you are in the cell A1 as shown in the below image.

  • If we want to copy and paste, we need to reference the cell here. Rather we can just use a property of Selection. Copy method.

Code:

Sub Copy_Example1() Selection.Copy Destination:=Range("B3") End Sub

OR

Sub Copy_Example1() ActiveCell.Copy Destination:=Range("B3") End Sub
  • If you want to copy the entire used range of the worksheet, you can use the below code.

Code:

Sub Copy_Example2 () Φύλλα εργασίας ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub

Αυτό θα αντιγράψει ολόκληρο το εύρος που χρησιμοποιείται στο φύλλο εργασίας "Φύλλο1" και θα επικολλήσει το ίδιο στο φύλλο εργασίας "Φύλλο2".

ενδιαφέροντα άρθρα...