Μεταφορά VBA (βήμα προς βήμα) | Κορυφαίες 2 μέθοδοι για μεταφορά στο VBA
Έχουμε δει τη λειτουργία μεταφοράς στο φύλλο εργασίας excel όταν επικολλάμε οποιονδήποτε πίνακα δεδομένων στο φύλλο εργασίας, αυτό που κάνει η μεταφορά είναι ότι αλλάζει τη θέση των γραμμών και των στηλών, δηλαδή οι σειρές γίνονται στήλες και οι στήλες γίνονται σειρές σε έναν πίνακα δεδομένων, τώρα δεδομένου ότι είναι ένα φύλλο εργασίας συνάρτηση στο VBA το χρησιμοποιούμε με τη μέθοδο Application.worksheet στο VBA.
Πώς να μεταφέρετε στο VBA;
Η εναλλαγή σειρών και στηλών είναι μία από τις τεχνικές χειρισμού δεδομένων που σχεδόν όλοι οι χρήστες κάνουν στο Excel. Η διαδικασία μετατροπής οριζόντιων δεδομένων σε κατακόρυφα και κάθετα δεδομένα σε οριζόντια ονομάζεται «Transpose» στο excel. Είμαι βέβαιος ότι πρέπει να είστε εξοικειωμένοι με τη μεταφορά σε ένα κανονικό φύλλο εργασίας, σε αυτό το άρθρο θα σας δείξουμε πώς να χρησιμοποιήσετε τη μέθοδο μεταφοράς σε κωδικοποίηση VBA.
Μπορούμε να μεταφέρουμε στο VBA χρησιμοποιώντας δύο μεθόδους.
- Μεταφορά χρησιμοποιώντας τον τύπο TRANSPOSE.
- Μεταφορά χρησιμοποιώντας ειδική μέθοδο επικόλλησης.
Όταν μεταφέρουμε, αλλάζουμε σειρές σε στήλες και στήλες σε σειρές. Για παράδειγμα, εάν τα δεδομένα είναι σε συστοιχία 4 Χ 3 τότε γίνεται πίνακας 3 Χ 4
Ας δούμε μερικά παραδείγματα για μεταφορά της στήλης σε σειρά στο VBA.
# 1 - Μεταφορά VBA με χρήση του τύπου TRANSPOSE
Όπως και πώς χρησιμοποιούμε το TRANSPOSE στο Excel, το ίδιο μπορούμε να χρησιμοποιήσουμε και τον τύπο TRANSPOSE στο VBA. Δεν έχουμε έναν τύπο ΜΕΤΑΦΟΡΑΣ στο VBA, επομένως πρέπει να το χρησιμοποιήσουμε στην κλάση Λειτουργία φύλλου εργασίας.
Για παράδειγμα, δείτε την παρακάτω εικόνα δεδομένων.
Θα προσπαθήσουμε να μεταφέρουμε αυτήν τη σειρά τιμών. Ακολουθήστε τα παρακάτω βήματα για τη μεταφορά των δεδομένων.
Βήμα 1: Ξεκινήστε την υποδιαδικασία
Κώδικας:
Υπο Transpose_Example1 () End Sub
Βήμα 2: Πρώτα πρέπει να αποφασίσουμε πού θα μεταφέρουμε τα δεδομένα. Σε αυτό, έχω επιλέξει να μεταφέρω από το κελί D1 στο H2. Εισαγάγετε λοιπόν τον κωδικό VBA ως Range ("D1: H2"). Value =
Κώδικας:
Υπο Transpose_Example1 () Range ("D1: H2"). Value = End Sub
Βήμα 3: Τώρα στο προαναφερόμενο εύρος χρειαζόμαστε την τιμή του εύρους A1 έως B5. Για να φτάσετε σε αυτήν την ανοιχτή τάξη "Λειτουργία φύλλου εργασίας" και επιλέξτε τον τύπο "Μεταφορά".
Βήμα 4: Στο Arg 1 παρέχετε το εύρος πηγών δεδομένων, δηλαδή Range ("A1: D5") .
Κώδικας:
Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Trposepose (Range ("A1: D5")) End Sub
Εντάξει, τελειώσαμε με την κωδικοποίηση τύπου TRANSPOSE. Τώρα εκτελέστε τον κώδικα για να δείτε το αποτέλεσμα στο εύρος κελιών D1 έως H2.
Όπως έχουμε δει την παραπάνω εικόνα, έχει μετατρέψει το εύρος των κελιών από στήλες σε σειρές.
# 2 - Μεταφορά VBA με χρήση ειδικής μεθόδου επικόλλησης
Μπορούμε επίσης να μεταφέρουμε τη μέθοδο Paste Special. Σκεφτείτε επίσης τα ίδια δεδομένα για αυτό το παράδειγμα.
Το πρώτο πράγμα που πρέπει να κάνουμε για τη μεταφορά είναι η αντιγραφή των δεδομένων. Γι 'αυτό γράψτε τον κωδικό ως Range ("A1: B5"). Αντιγράψτε
Κώδικας:
Sub Transpose_Example2 () Range ("A1: B5"). Αντιγραφή End Sub
Το επόμενο είναι ότι πρέπει να αποφασίσουμε πού θα επικολλήσουμε τα δεδομένα. Σε αυτήν την περίπτωση, έχω επιλέξει το D1 ως το επιθυμητό κελί προορισμού.
Κώδικας:
Υπο Transpose_Example2 () Εύρος ("A1: B5"). Εύρος αντιγραφής ("D1"). Τέλος Υποτ
Μόλις επιλεγεί το επιθυμητό κελί προορισμού, πρέπει να επιλέξουμε "Επικόλληση ειδικής μεθόδου".
Με ειδική επικόλληση, μπορούμε να εκτελέσουμε όλες τις ενέργειες που έχουμε με κανονικές μεθόδους επικόλλησης σε φύλλο εργασίας
Αγνοήστε όλες τις παραμέτρους και επιλέξτε την τελευταία παράμετρο, δηλαδή Μεταφέρετε και κάντε την ως ΑΛΗΘΗ.
Κώδικας:
Sub Transpose_Example2 () Range ("A1: B5"). Copy Range ("D1"). PasteSpecial Transpose: = True End Sub
Αυτό θα μεταφέρει επίσης τα δεδομένα όπως την προηγούμενη μέθοδο.
Έτσι, μπορούμε να χρησιμοποιήσουμε τον τύπο TRANSPOSE ή τη μέθοδο Paste Special για να μεταφέρουμε τα δεδομένα για να αλλάξουμε σειρές σε στήλες και στήλες σε σειρές.
Πράγματα που πρέπει να θυμάστε
- Εάν χρησιμοποιούμε τη συνάρτηση TRANSPOSE φύλλο εργασίας, είναι υποχρεωτικό να υπολογίσουμε έναν αριθμό σειρών και στηλών για τη μεταφορά των δεδομένων. Εάν έχουμε 5 σειρές και 3 στήλες τότε κατά τη μεταφορά γίνεται 3 σειρές και 5 στήλες.
- Εάν θέλετε την ίδια μορφοποίηση κατά τη χρήση ειδικής επικόλλησης, τότε πρέπει να χρησιμοποιήσετε το όρισμα "Επικόλληση τύπου" ως "xlPasteFormats"
Μπορείτε να κάνετε λήψη αυτού του προτύπου VBA Transpose Excel από εδώ - Πρότυπο VBA Transpose Excel