Φύλλο εργασίας αντιγραφής VBA - Πώς να χρησιμοποιήσετε το φύλλο εργασίας. Αντιγραφή;

Πίνακας περιεχομένων

Φύλλο εργασίας αντιγραφής Excel VBA

Μερικές φορές ενδέχεται να χρειαστεί να αντιγράψουμε μια συγκεκριμένη περιοχή κελιών από το ένα φύλλο εργασίας στο άλλο ή στο ίδιο φύλλο εργασίας. Σε ορισμένες περιπτώσεις, ενδέχεται να χρειαστεί να αντιγράψετε ολόκληρο το φύλλο εργασίας σε ένα νέο φύλλο εργασίας. Ίσως εξοικειωθείτε με την αντιγραφή μιας σειράς κελιών, αλλά πώς να αντιγράψετε ολόκληρο το φύλλο εργασίας χρησιμοποιώντας το VBA. Σε αυτό το άρθρο, θα σας δώσουμε μια λεπτομερή εξήγηση σχετικά με τον τρόπο αντιγραφής του φύλλου εργασίας σε άλλο βιβλίο εργασίας στο VBA.

Φύλλο εργασίας. Μέθοδος αντιγραφής στο VBA

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

Φύλλο εργασίας (). Αντιγραφή (Πριν, μετά)

Η μέθοδος αντιγραφής έχει δύο ορίσματα σε αυτήν Πριν & μετά; και τα δύο είναι προαιρετικά.

  1. Πριν: Το στοχευμένο φύλλο εργασίας που αντιγράφουμε. Εάν το καθορίσετε, δεν μπορείτε να χρησιμοποιήσετε το όρισμα After .
  2. Μετά: Το στοχευμένο φύλλο εργασίας που αντιγράφουμε. Εάν το καθορίσετε, δεν μπορείτε να χρησιμοποιήσετε το όρισμα Before .

Δεδομένου ότι και τα δύο αυτά είναι προαιρετικά επιχειρήματα εάν το αφήσετε κενό, τότε το στοχευμένο φύλλο εργασίας θα αντιγραφεί σε ένα νέο βιβλίο εργασίας, το Microsoft Excel δημιουργεί αυτόματα ένα νέο βιβλίο εργασίας.

Θα δούμε παραδείγματα του ίδιου τώρα στην ενότητα παραδειγμάτων.

Παραδείγματα φύλλου εργασίας αντιγραφής στο VBA

Παράδειγμα # 1

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

Έχουμε τα παραπάνω δεδομένα στο φύλλο εργασίας με το όνομα "Ιανουάριος" .

  • Επομένως, πρέπει να αντιγράψουμε το παραπάνω φύλλο εργασίας μετά το φύλλο εργασίας με το όνομα " Sheet1 ". Αρχικά, ανατρέξτε στο φύλλο εργασίας χρησιμοποιώντας το αντικείμενο των φύλλων εργασίας.

Κώδικας:

Φύλλο εργασίας_Copy_Example1 () Φύλλα εργασίας ("Ιανουάριος") Τέλος υπο
  • Στη συνέχεια, εισαγάγετε τη μέθοδο " Αντιγραφή ".

Κώδικας:

Υπο φύλλο εργασίας_Copy_Example1 () Φύλλα εργασίας ("Ιανουάριος"). Αντιγραφή End Sub
  • Όπως μπορείτε να δείτε παραπάνω όταν ξεκινάτε να πληκτρολογείτε, δεν βλέπουμε τη λίστα IntelliSense για αντικείμενο φύλλων εργασίας, αυτό είναι ένα από τα σημαντικά προβλήματα για τους αρχάριους εάν χρησιμοποιούν απευθείας το αντικείμενο WORKSHEETS, αλλά αυτό μπορεί να εξαλειφθεί χρησιμοποιώντας μεταβλητές, ορίστε λοιπόν το μεταβλητή ως " φύλλο εργασίας ".

Κώδικας:

Sub Worksheet_Copy_Example1 () Dim Ws ως Works Works End Sub
  • Τώρα για αυτήν τη μεταβλητή ορίστε την αναφορά του φύλλου εργασίας « Ιανουάριος ».

Κώδικας:

Sub Worksheet_Copy_Example1 () Dim Ws as Worksheet Set Ws = Worksheets ("January") End Sub
  • Έτσι, τώρα χρησιμοποιώντας τη μεταβλητή " Ws " μπορούμε εύκολα να αναφερθούμε στο φύλλο εργασίας με το όνομα " Ιανουάριος ". Εισάγετε λοιπόν το όνομα μεταβλητής " Ws " και επιλέξτε τη μέθοδο " Αντιγραφή ".

Εκεί πηγαίνουμε βλέπουμε τη λίστα IntelliSense που δείχνει όλες τις ιδιότητες και τις μεθόδους των αντικειμένων του φύλλου εργασίας, χάρη στη μεταβλητή δήλωση.

  • Επιλέξτε τη μέθοδο " Αντιγραφή " και μπορούμε να δούμε επιχειρήματα της μεθόδου " Αντιγραφή ".
  • Δεδομένου ότι πρέπει να αντιγράψουμε το φύλλο εργασίας μετά το φύλλο εργασίας " Sheet1 ", αποκτήστε πρώτα πρόσβαση στο όρισμα " After " εισάγοντας το όνομα του ορίσματος όπως το παρακάτω.

Αφού επισημανθεί το όρισμα, αφού χρησιμοποιήσαμε το όνομα του ορίσματος με το σύμβολο " ίσο εξ ορισμού " (: =)

  • Τώρα εισαγάγετε το όνομα του φύλλου χρησιμοποιώντας το αντικείμενο " Φύλλα ".

Κώδικας:

Υπο φύλλο εργασίας_Copy_Example1 () Dim Ws As Set Sheet Works Ws = Worksheets ("January") Ws.Copy After: = Sheets ("Sheet1") End Sub
  • Εμεις τελειωσαμε. Αυτό θα αντιγράψει το φύλλο εργασίας « Ιανουάριος » μετά το φύλλο εργασίας « Φύλλο1 ».

Ορίστε, έχουμε αντιγράψει το φύλλο εργασίας Ιανουαρίου στα δεξιά του "Sheet1". Ένα από τα προεπιλεγμένα πράγματα εδώ είναι το όνομα του φύλλου εργασίας είναι το ίδιο με το αντιγραμμένο φύλλο με έναν αριθμητικό αριθμό του φύλλου εργασίας στο βραχίονα, στην περίπτωση αυτή, είναι το "(2)".

  • Για να αλλάξετε το όνομα του φύλλου εργασίας, προσθέστε το παρακάτω κομμάτι κώδικα στον παραπάνω κώδικα.
  • So the overall code is below.

Code:

Sub Worksheet_Copy_Example1() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets("Sheet1") ActiveSheet.Name = “New Copied Sheet” End Sub
  • Now run the code and see what happens.

Example #2

Similarly, if you want to copy the worksheet “Sheet1” before the worksheet “January” uses the below code.

Code:

Sub Worksheet_Copy_Example2() Dim Ws As Worksheet Set Ws = Worksheets("Sheet1") Ws.Copy Before:=Sheets("January") ActiveSheet.Name = "New Sheet1" End Sub
  • So this will create a sheet-like the below.

Example #3

Similarly, if you want to copy the worksheet after the last worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example3() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = "Last Sheet" End Sub

Output:

The only change we made is we have used “Sheets. Count” method to count how many sheets are there in the workbook.

Example #4

Similarly, if you want to copy the worksheet before the first worksheet then use the below code.

Code:

Sub Worksheet_Copy_Example4() Dim Ws As Worksheet Set Ws = Worksheets("January") Ws.Copy After:=Sheets(1) ActiveSheet.Name = "First Sheet" End Sub

Output:

In this case, we have used “Sheets(1)” so this will place the worksheet copied before the first worksheet of the workbook.

Things to Remember

  • Suppose you don’t use either Before & After argument of the Worksheet. Copy worksheets will be copied to the new workbook altogether.
  • Το προεπιλεγμένο αντίγραφο του φύλλου εργασίας θα είναι το ίδιο ακολουθούμενο από το πλήθος αυτού του αντιγράφου φύλλου εργασίας.

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