Πίνακας περιεχομένων
Όταν χρειάζεται να αντιγράψουμε και να επικολλήσουμε οποιαδήποτε δεδομένα στο Microsoft Excel, έχουμε τη δυνατότητα χρήσης διαφόρων εργαλείων συντόμευσης και κορδέλας στο Excel. VBA Μακροεντολές έχουν επίσης τέτοια δυνατότητα αντί για επιλογές βιβλίου εργασίας. Θα συζητήσουμε το VBA Ειδική επικόλληση τιμές και μορφές στο Excel.
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.
Τιμές και μορφές με χρήση του PasteSpecial.xlsm
9 παραδείγματα αντιγραφής τιμών και μορφοποιήσεων με την ειδική επικόλληση στο Excel VBA
Σε αυτό το άρθρο, θα συζητήσουμε 9 μέθοδοι με Μακροεντολές VBA για να Ειδική επικόλληση τιμές και μορφή στο Excel.
Θα εξετάσουμε το σύνολο δεδομένων που ακολουθεί για το σκοπό αυτό.
1. Εφαρμόστε το InputBox στην VBA Ειδική επικόλληση για την αντιγραφή τιμών και μορφών
Θα χρησιμοποιήσουμε την επιλογή InputBox σε αυτό το παράδειγμα για Ειδική επικόλληση .
Βήμα 1:
- Πηγαίνετε στο Προγραμματιστής καρτέλα.
- Κάντε κλικ στο Μακροεντολή εγγραφής .
- Ορίστε Excel_Paste_Special_1 ως το Όνομα μακροεντολής .
- Στη συνέχεια, πατήστε OK .
Βήμα 2:
- Τώρα, κάντε κλικ στο Μακροεντολές εντολή.
- Επιλέξτε το Μάκρο και στη συνέχεια πατήστε Step Into .
Βήμα 3:
- Αντιγράψτε και επικολλήστε τον ακόλουθο κώδικα στην ενότητα εντολών.
Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub
Βήμα 4:
- Τύπος F5 για να εκτελέσετε τον κώδικα.
- Θα εμφανιστεί ένα νέο πλαίσιο διαλόγου. Επιλέξτε την περιοχή πηγής σε αυτό το πλαίσιο.
- Στη συνέχεια, πατήστε OK .
Βήμα 5:
- Θα εμφανιστεί ένα άλλο παράθυρο διαλόγου. Επιλέξτε μια κενή περιοχή όπου θα επικολλήσετε τα αντιγραμμένα κελιά.
Τώρα, κοιτάξτε το σύνολο δεδομένων.
Όλα τα δεδομένα αντιγράφονται με τιμές και μορφές χρησιμοποιώντας την εντολή VBA Ειδική επικόλληση .
Διαβάστε περισσότερα: Πώς να εφαρμόσετε το VBA PasteSpecial και να διατηρήσετε τη μορφοποίηση της πηγής στο Excel
2. Εισαγωγή περιοχής κελιών με τιμές και μορφές χρησιμοποιώντας το xlPasteAllUsingSourceTheme στο VBA Paste Special
Θα εισαγάγουμε την περιοχή κελιών απευθείας στο VBA κώδικα σε αυτό το τμήμα.
Βήμα 1:
- Τύπος Alt+F11 για να εισέλθετε στη μονάδα εντολών.
- Τοποθετήστε τον ακόλουθο κώδικα στην ενότητα εντολών.
Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Βήμα 2:
- Τώρα, πατήστε F5 για να εκτελέσετε τον κώδικα.
Αυτό το xlPasteAllUsingSourceTheme αντιγράφει το ακριβές αντίγραφο των δεδομένων προέλευσης.
Διαβάστε περισσότερα: Excel VBA: Αντιγραφή τιμής κελιού και επικόλληση σε άλλο κελί
3. Χρήση μεταβλητής VBA για την εισαγωγή περιοχής με τιμές και μορφές με χρήση ειδικής επικόλλησης
Θα δείξουμε τη χρήση των μεταβλητών στο VBA Ειδική επικόλληση κωδικός εδώ.
Βήμα 1:
- Πρώτον, εισέλθετε στην ενότητα εντολών πατώντας Alt+F11 .
- Γράψτε τον παρακάτω κώδικα στην ενότητα εντολών.
Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Βήμα 2:
- Τύπος F5 και εκτελέστε τον κώδικα.
Διαβάστε περισσότερα: Excel VBA: Αντιγραφή περιοχής σε άλλο βιβλίο εργασίας
4. Χρησιμοποιήστε τα xlPasteValues και xlPasteFormats για να αντιγράψετε τιμές και μορφές σε άλλο φύλλο διατηρώντας τις μορφές αμετάβλητες
Οι παραπάνω μέθοδοι χρησιμοποιήθηκαν για την αντιγραφή και επικόλληση δεδομένων στο ίδιο φύλλο. Τώρα, θα δείξουμε πώς να χρησιμοποιήσουμε το VBA Ειδική επικόλληση για διαφορετικά φύλλα.
Βήμα 1:
- Εισέλθετε στη μονάδα εντολών κάνοντας κλικ στο Alt+F11 και αντιγράφοντας τον ακόλουθο κώδικα.
Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub
Βήμα 2:
- Τύπος F5 για να εκτελέσετε τον κώδικα.
Μπορούμε να δούμε ότι τα δεδομένα της Data_Set αντιγράφεται στο Διαφορετικό_φύλλο .
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το VBA PasteSpecial για τύπους και μορφές στο Excel (3 τρόποι)
Παρόμοιες αναγνώσεις
- Πώς να αντιγράψετε πολλαπλά κελιά σε άλλο φύλλο στο Excel (9 μέθοδοι)
- Διαφορά μεταξύ επικόλλησης και ειδικής επικόλλησης στο Excel
- Excel VBA για την αντιγραφή δεδομένων από άλλο βιβλίο εργασίας χωρίς άνοιγμα
- Πώς να αντιγράψετε και να επικολλήσετε στο Excel και να διατηρήσετε το μέγεθος του κελιού (7 παραδείγματα)
- Αντιγραφή και επικόλληση τιμών στην επόμενη κενή γραμμή με το Excel VBA (3 παραδείγματα)
5. Χρησιμοποιήστε το xlPasteFormats για να επικολλήσετε μόνο τις μορφές
Στις προηγούμενες μεθόδους, αντιγράψαμε όλα τα δεδομένα και τα επικολλήσαμε χωρίς καμία αλλαγή. Αλλά σε αυτή την ενότητα, θα αντιγράψουμε μόνο τη μορφή των δεδομένων.
Βήμα 1:
- Μεταβείτε στη μονάδα εντολών πατώντας Alt+F11 .
- Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στην ενότητα εντολών.
Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub
Βήμα 2:
- Τώρα, πατήστε το F5 και εκτελέστε τον κώδικα.
Κοιτάξτε το σύνολο δεδομένων. Αντιγράφονται μόνο οι μορφές, δεν υπάρχουν τιμές εδώ.
Διαβάστε περισσότερα: Πώς να αντιγράψετε και να επικολλήσετε στο Excel χωρίς να αλλάξετε τη μορφή
6. Χρησιμοποιήστε το xlPasteValues για να επικολλήσετε μόνο τις τιμές
Μπορούμε να αντιγράψουμε τις τιμές μόνο χρησιμοποιώντας την εντολή VBA Ειδική επικόλληση .
Βήμα 1:
- Τύπος Alt+F11 για να εισέλθετε στη μονάδα εντολών.
- Γράψτε τον ακόλουθο κώδικα στη μονάδα εντολών.
Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub
Βήμα 2:
- Κάντε κλικ στο F5 και εκτελέστε τον κώδικα.
Παρατηρήστε το σύνολο δεδομένων. Εδώ αντιγράφονται μόνο οι τιμές. Με αυτή τη μέθοδο δεν αντιγράφονται μορφές.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το VBA για να επικολλήσετε τιμές μόνο χωρίς μορφοποίηση στο Excel
7. Αντιγραφή και επικόλληση όλων των περιεχομένων ενός μεμονωμένου κελιού
Στις προηγούμενες ενότητες, αντιγράψαμε μια σειρά δεδομένων. Εδώ, θα αντιγράψουμε μόνο ένα κελί.
Βήμα 1:
- Τώρα, πατήστε Alt+F11 και εισέλθετε στην ενότητα εντολών.
- Πληκτρολογήστε τον ακόλουθο κώδικα στη μονάδα.
Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Βήμα 2:
- Τώρα, πατήστε το F5 για να εκτελέσετε τον κώδικα.
Βλέπουμε ότι εδώ αντιγράφεται ένα μόνο κελί και όχι μια περιοχή.
Διαβάστε περισσότερα: Τύπος αντιγραφής και επικόλλησης τιμών στο Excel (5 παραδείγματα)
8. Αντιγραφή και επικόλληση όλων των χαρακτηριστικών μιας συγκεκριμένης στήλης με VBA
Όπως ένα μεμονωμένο κελί, μπορούμε να αντιγράψουμε μια μεμονωμένη στήλη στο σύνολο δεδομένων.
Βήμα 1:
- Απλά πατήστε το Alt+F11 για να εισέλθετε στη μονάδα εντολών.
- Γράψτε τον παρακάτω κώδικα στην ενότητα.
Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Βήμα 2:
- Εκτελέστε τον κώδικα πατώντας F5 .
Εδώ, μπορούμε να δούμε ότι Στήλη Β αντιγράφεται στο Στήλη Ε .
Διαβάστε περισσότερα: [Διορθωμένο]: Αντιγραφή και επικόλληση με δεξί κλικ δεν λειτουργεί στο Excel (11 λύσεις)
9. Αντιγραφή και επικόλληση όλων των χαρακτηριστικών μιας γραμμής με το Excel VBA
Ομοίως, μπορούμε να αντιγράψουμε μια μόνο γραμμή χρησιμοποιώντας την εντολή Ειδική επικόλληση .
Βήμα 1:
- Κάντε κλικ στο Alt+F11 για να εισέλθετε στη μονάδα comand.
- Αντιγράψτε τον ακόλουθο κώδικα στην ενότητα εντολών.
Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub
Βήμα 2:
- Εκτελέστε τον κώδικα πατώντας F5 .
Ορίστε, Σειρά 4 αντιγράφεται στο Σειρά 11 .
Διαβάστε περισσότερα: Πώς να αντιγράψετε πολλαπλές σειρές στο Excel χρησιμοποιώντας μακροεντολές (4 παραδείγματα)
Συμπέρασμα
Σε αυτό το άρθρο, εξηγήσαμε 9 μέθοδοι της VBA Επικόλληση ειδικών τιμών και μορφών στο Excel. Ελπίζω ότι αυτό θα ικανοποιήσει τις ανάγκες σας. Παρακαλώ ρίξτε μια ματιά στον ιστότοπό μας Exceldemy.com και δώστε τις προτάσεις σας στο πλαίσιο σχολίων.