Πώς να εφαρμόσετε το VBA PasteSpecial και να διατηρήσετε τη μορφοποίηση της πηγής στο Excel

  • Μοιραστείτε Αυτό
Hugh West

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

Κατεβάστε το βιβλίο ασκήσεων

Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.

VBA PasteSpecial.xlsm

4 εύκολα παραδείγματα για την εφαρμογή του VBA PasteSpecial και τη διατήρηση της μορφοποίησης της πηγής στο Excel

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

1. Προσθέστε πλαίσιο εισαγωγής χρησιμοποιώντας το VBA PasteSpecial και διατηρήστε τη μορφοποίηση της πηγής στο Excel

Πρώτα απ' όλα. Θα χρησιμοποιήσουμε το πλαίσιο για να επιλέξουμε μια περιοχή και στη συνέχεια να την επικολλήσουμε σε ένα άλλο κελί. Για να το κάνουμε αυτό, ακολουθήστε τα παρακάτω βήματα.

Βήμα 1:

  • Πρώτον, πατήστε Alt + F11 για να ξεκινήσετε μια Μάκρο .
  • Στη συνέχεια, κάντε κλικ στο Εισαγωγή, επιλέξτε το Ενότητα επιλογή.

Βήμα 2:

  • Επικολλήστε τον ακόλουθο κώδικα VBA.
 Sub PasteSpecialKeepFormat() 'declare CopyCell and PasteCell as range variable Dim CopyCell As Range, PasteCell As Range 'Give a name to the Input Box xTitleId = "ExcelWIKI" 'Set copy range will be selected from the worksheet Set CopyCell = Application.Selection 'Set a Input Box to take a range to copy from Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Ορίστε ένα πλαίσιο εισόδου για να πάρετε μια περιοχή για επικόλληση σε Set PasteCell = Application.InputBox("Επικόλληση σε οποιοδήποτε κενό κελί:", xTitleId, Type:=8) 'Εντολή για αντιγραφή της επιλεγμένης περιοχής CopyCell.Copy 'Εντολή για επικόλληση της περιοχής PasteCell.Parent.Activate 'Εντολή στα επικολλημένα κελιά να διατηρηθεί η μορφοποίηση της πηγής PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Βήμα 3:

  • Αποθήκευση το πρόγραμμα και πατήστε F5 για να το τρέξετε.
  • Αφού εμφανίστηκε η 'ExcelWIKI' πλαίσιο, επιλέξτε το εύρος $B$4:$C$11 .
  • Κάντε κλικ στο OK .

Βήμα 4:

  • Επιλέξτε οποιοδήποτε κενό κελί για επικόλληση.
  • Στη συνέχεια, κάντε κλικ στο ΕΝΤΆΞΕΙ.

  • Επομένως, θα λάβετε την τιμή επικόλλησης διατηρώντας τη μορφή άθικτη.

Διαβάστε περισσότερα: Διαφορά μεταξύ επικόλλησης και ειδικής επικόλλησης στο Excel

2. Εφαρμόστε το VBA PasteSpecial για να επιλέξετε περιοχή και να διατηρήσετε τη μορφοποίηση της πηγής στο Excel

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

Βήμα 1:

  • Τύπος Alt + F11 για να ανοίξετε Μάκρο .
  • Δημιουργήστε μια νέα ενότητα από το Εισαγωγή
  • Απλά, επικολλήστε τα ακόλουθα VBA κωδικός για την περιοχή B4:C11 .
 Sub pasteSpecial_KeepFormat() 'επιλέξτε περιοχή για αντιγραφή Range("B4:C11").Copy 'επιλέξτε κελί για επικόλληση 'Εντολή για pasteSpecial διατηρώντας τη μορφή Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Βήμα 2:

  • Τέλος, αποθηκεύστε το πρόγραμμα και πατήστε F5 Κατά συνέπεια, θα δείτε τις αλλαγές όπως φαίνεται στην παρακάτω εικόνα.

Διαβάστε περισσότερα: Ειδική επικόλληση VBA για την αντιγραφή τιμών και μορφών στο Excel (9 παραδείγματα)

Παρόμοιες αναγνώσεις

  • Κώδικας VBA για τη σύγκριση δύο φύλλων Excel και την αντιγραφή διαφορών
  • Excel VBA: Αντιγραφή τιμής κελιού και επικόλληση σε άλλο κελί
  • Πώς να αντιγράψετε πολλαπλά κελιά σε άλλο φύλλο στο Excel (9 μέθοδοι)
  • Excel VBA: Αντιγραφή περιοχής σε άλλο βιβλίο εργασίας
  • [Διορθωμένο]: Αντιγραφή και επικόλληση με δεξί κλικ δεν λειτουργεί στο Excel (11 λύσεις)

3. Δηλώστε μεταβλητή εφαρμόζοντας το VBA PasteSpecial και διατηρώντας τη μορφοποίηση της πηγής στο Excel

Δηλώνοντας μεταβλητές και θέτοντας μεταβλητές σε διαφορετικά εύρη, ακολουθήστε τα παρακάτω βήματα για να επικολλήσετε το PasteSpecial στο VBA .

Βήμα 1:

  • Πρώτα απ' όλα, πατήστε Alt + F11 για να ανοίξετε Μακροεντολή VBA .
  • Επιλέξτε ένα νέο Ενότητα .
  • Στη συνέχεια, επικολλήστε τα εξής Κώδικας VBA .
 Sub Copy_Paste_Special() 'Δήλωση μεταβλητών Dim copy_Rng As Range, Paste_Range As Range 'Εντολή για αντιγραφή εύρους Set copy_Rng = Range("B4:C11") 'Εντολή για επικόλληση εύρους Set Paste_Range = Range("E4") copy_Rng.Copy 'Επικόλληση εντολής στο pasteSpecial με διατήρηση Format Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Βήμα 2:

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

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το VBA PasteSpecial για τύπους και μορφές στο Excel (3 τρόποι)

4. Χρησιμοποιήστε το VBA PasteSpecial και διατηρήστε τη μορφοποίηση της πηγής σε διαφορετικό φύλλο εργασίας στο Excel

Θα μιλήσουμε για μια πολύ σημαντική μέθοδο σε αυτό το μέρος. Επειδή θα εξετάσουμε πώς να χρησιμοποιήσουμε το PasteSpecial σε VBA σε πολλαπλά βιβλία εργασίας. Για παράδειγμα, θα αντιγράψουμε από το 'Φύλλο4' και επικολλήστε το στο 'Φύλλο5 ,' όπως φαίνεται στα παρακάτω βήματα.

Βήμα 1:

  • Για να ανοίξετε Μακροεντολή VBA , πατήστε Alt + F11
  • Από το Εισαγωγή επιλέξτε την καρτέλα Ενότητα.
  • Στη συνέχεια, επικολλήστε τα εξής VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Δήλωση μεταβλητών Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Ορισμός προορισμού περιοχής στη μεταβλητή Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'Ορισμός προορισμού των κελιών που επικολλούνται 'Για το κελί E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Εντολή για την αντιγραφή του εύρους copyRng.Range("B4:C11").Copy 'Εντολή για την επικόλληση του εύρους Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Βήμα 2:

  • Για να εκτελέσετε το πρόγραμμα, πιέστε F5 μετά την αποθήκευση του προγράμματος.
  • Επομένως, θα λάβετε την τιμή που επικολλήθηκε στο φύλλο 5 διατηρώντας τη μορφή της πηγής.

Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε την ειδική εντολή επικόλλησης στο Excel (5 κατάλληλοι τρόποι)

Συμπέρασμα

Για να συνοψίσω, ελπίζω ότι τώρα ξέρετε πώς να χρησιμοποιείτε Excel VBA στην Επικόλληση Ειδική Διατήρηση μορφοποίησης πηγής. Όλες αυτές οι στρατηγικές θα πρέπει να διδαχθούν στα δεδομένα σας και να χρησιμοποιηθούν σε αυτά. Εξετάστε το βιβλίο πρακτικής και εφαρμόστε αυτά που μάθατε. Έχουμε κίνητρο να συνεχίσουμε να δίνουμε διαλέξεις όπως αυτές λόγω της σημαντικής υποστήριξής σας.

Μην διστάσετε να επικοινωνήσετε μαζί μας εάν έχετε οποιεσδήποτε απορίες. Μοιραστείτε τις σκέψεις σας στο πλαίσιο σχολίων παρακάτω.

Οι ερωτήσεις σας θα απαντηθούν το συντομότερο δυνατό από τον Exceldemy προσωπικό.

Μείνετε μαζί μας και συνεχίστε να μαθαίνετε.

Ο Hugh West είναι ένας εξαιρετικά έμπειρος εκπαιδευτής και αναλυτής του Excel με πάνω από 10 χρόνια εμπειρίας στον κλάδο. Είναι κάτοχος πτυχίου Λογιστικής και Χρηματοοικονομικής και μεταπτυχιακού στη Διοίκηση Επιχειρήσεων. Ο Hugh έχει πάθος για τη διδασκαλία και έχει αναπτύξει μια μοναδική προσέγγιση διδασκαλίας που είναι εύκολο να ακολουθηθεί και να κατανοηθεί. Οι εξειδικευμένες γνώσεις του στο Excel έχουν βοηθήσει χιλιάδες φοιτητές και επαγγελματίες παγκοσμίως να βελτιώσουν τις δεξιότητές τους και να διαπρέψουν στην καριέρα τους. Μέσω του ιστολογίου του, ο Hugh μοιράζεται τις γνώσεις του με τον κόσμο, προσφέροντας δωρεάν μαθήματα Excel και διαδικτυακή εκπαίδευση για να βοηθήσει άτομα και επιχειρήσεις να αξιοποιήσουν πλήρως τις δυνατότητές τους.