Πίνακας περιεχομένων
Στο Excel, η συνένωση είναι η διαδικασία ένωσης δύο συμβολοσειρών για να σχηματίσουν μια ενιαία συμβολοσειρά. Με απλά λόγια, αν έχουμε έναν πίνακα με ονόματα σε μια στήλη και επώνυμα σε μια άλλη, μπορούμε να χρησιμοποιήσουμε τη διαδικασία της συνένωσης για να τα συνδέσουμε και να τα συνδυάσουμε σε ένα μόνο κελί σε κλάσματα του δευτερολέπτου. Στο Excel, έχουμε μια συνάρτηση που ονομάζεται CONCATENATE () που μας επιτρέπει να κάνουμε αυτή τη συνένωση. Ωστόσο, στο VBA , αυτός ο τύπος συνάρτησης δεν επιτρέπεται. Δεν μπορούμε να χρησιμοποιήσουμε το CONCATENATE () στον κώδικα VBA, καθώς δεν θα λειτουργήσει. VBA δεν διαθέτει ενσωματωμένες συναρτήσεις και δεν μπορούμε να χρησιμοποιήσουμε τις συναρτήσεις του λογιστικού φύλλου. Έτσι, αυτό το μάθημα θα σας δείξει πώς να χρησιμοποιήσετε το VBA συνένωση για να συνδυάσετε πολλαπλά κελιά, στήλες και γραμμές στο Excel.
Κατεβάστε το βιβλίο ασκήσεων
Κατεβάστε αυτό το τετράδιο ασκήσεων για να εξασκηθείτε ενώ διαβάζετε αυτό το άρθρο.
VBA Concatenate Function.xlsmΕισαγωγή στη συνάρτηση Concatenate της VBA
Όπως αναφέραμε ότι το Excel δεν έχει καμία ενσωματωμένη συνάρτηση για την VBA Concatenate, αλλά μπορούμε να την κάνουμε να λειτουργήσει ως συνάρτηση συνδυάζοντας διαφορετικές συμβολοσειρές με τελεστές. Εδώ χρησιμοποιούμε την τελεία ampersand (&?) ως χειριστής μας.
⟴ Σύνταξη
String1 = " Πρώτο κείμενο"
String2 = " Δεύτερο κείμενο"
⟴ Τιμή επιστροφής
Return_value = String1 & String2
4 διαφορετικές χρήσεις της συνάρτησης VBA Concatenate στο Excel
Εδώ, θα χρησιμοποιήσουμε 4 διαφορετικές προσεγγίσεις για να εκτελέσουμε τη διαδικασία της συνένωσης. Θα εφαρμόσουμε διαφορετικούς τελεστές σε συνδυασμό με VBA κώδικα για να επιτευχθεί αυτό.
1. Χρήση του τελεστή Ampersand (&) για την ένωση κελιών στην VBA Concatenate
Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, έχουμε μια συλλογή δεδομένων με δύο στήλες, με τα μικρά ονόματα στη μία στήλη και τα επώνυμα στην άλλη. Με τη συγχώνευση των δύο στηλών, μπορούμε τώρα να πάρουμε ολόκληρα τα ονόματα. Επειδή VBA δεν έχει καμία ενσωματωμένη μέθοδο για τη συνένωση, θα χρησιμοποιήσουμε την τελεία ampersand (&?) χειριστή, όπως περιγράφεται λεπτομερώς στις παρακάτω οδηγίες.
Βήμα 1:
- Πρώτα απ' όλα, πατήστε Alt + F11 για να ανοίξετε το Φύλλο εργασίας με δυνατότητα μακροεντολών.
- Στη συνέχεια, κάντε κλικ στο
- Επιλέξτε Ενότητα .
Βήμα 2:
- Για να συνδυάσετε δύο κελιά σε ένα, αντιγράψτε και επικολλήστε τα ακόλουθα VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (full_string) End Sub
Ορίστε,
- String1 = Cells(5, 2).Value είναι η θέση του πρώτου κελιού B5 , σειρά 5, και στήλη 2 .
- String2 = Cells(5, 3).Value είναι η θέση του δεύτερου κελιού C5 , σειρά 5, και στήλη 3 .
- Cells(5, 5).Value = String1 & String2 είναι η θέση του κυττάρου του αποτελέσματος E5 , σειρά 5 και στήλη 5 .
- String1 & String2 είναι οι δύο χορδές που ενώνονται με την τελεία ampersand (&?)
Βήμα 3:
- Αποθήκευση και πατήστε F5 για να εκτελέσετε το πρόγραμμα.
Επομένως, θα λάβετε το αποτέλεσμα στο E5 κελί του τρέχοντος φύλλου εργασίας σας.
Βήμα 4:
- Ακολουθήστε και επαναλάβετε τα βήματα για τα υπόλοιπα κελιά και λάβετε τα αποτελέσματα όπως φαίνονται στην παρακάτω εικόνα.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το VBA StrComp στο Excel (5 κοινά παραδείγματα)
2. Χρήση του τελεστή συν (+) για την ένωση κελιών στη συνένωση VBA
Όπως περιγράψαμε στην προηγούμενη ενότητα, χρησιμοποιήσαμε την τελεία ampersand (&?) για να ενώσετε τις συμβολοσειρές των κελιών. Μπορείτε να επιτύχετε το ίδιο αποτέλεσμα εφαρμόζοντας τον τελεστή plus (+) σύμβολο αντί της τελείας (&?) Για να το κάνετε ακολουθήστε τα εξής βήματα.
Βήμα 1:
- Για να ανοίξετε Μάκρο στο Excel, πατήστε Alt + F11 .
- Κάντε κλικ στο Εισαγωγή και επιλέξτε
- Αφού ανοίξετε τη σελίδα του προγράμματος, επικολλήστε τα εξής VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub
Ορίστε,
- Cells(5, 5).Value = String1 + String2 είναι αυτή η γραμμή που χρησιμοποιούμε συν (+) αντί για το σύμβολο ampersand (&?)
Βήμα 2:
- Μετά την επικόλληση, αποθηκεύστε και πατήστε F5 για να εκτελέσετε το πρόγραμμα. Κατά συνέπεια, θα δείτε την αλλαγή στο κελί E5 .
- Για να λάβετε τα τελικά αποτελέσματα, συμπληρώστε τα απαιτούμενα κελιά εκτελώντας ξανά τα προηγούμενα βήματα.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε τη συνάρτηση StrConv της VBA (5 παραδείγματα)
Παρόμοιες αναγνώσεις:
- Πώς να καλέσετε μια υποενότητα στην VBA στο Excel (4 παραδείγματα)
- Επιστροφή μιας τιμής σε συνάρτηση VBA (τιμές τόσο σε συστοιχίες όσο και σε μη συστοιχίες)
- Πώς να χρησιμοποιήσετε τη λειτουργία DIR της VBA στο Excel (7 παραδείγματα)
- Χρήση της συνάρτησης VBA UCASE στο Excel (4 παραδείγματα)
- Πώς να χρησιμοποιήσετε τη συνάρτηση InStr στη VBA (3 παραδείγματα)
3. Προσθήκη πολλαπλών στηλών με χρήση της VBA Concatenate
Στις δύο προηγούμενες προσεγγίσεις, συζητήσαμε πώς να συνδυάσουμε δύο κελιά. Ωστόσο, αν θέλουμε να το εφαρμόσουμε σε ολόκληρη τη στήλη, η προσθήκη ενός προς ένα θα πάρει πολύ χρόνο. Θα σας διδάξουμε πώς να προσθέσετε πολλαπλές στήλες συνολικά με το VBA κώδικα για αυτό.
Βήμα 1:
- Πρώτον, για να ανοίξετε Μάκρο Τύπος Alt + F11
- Επιλέξτε Ενότητα από το Εισαγωγή καρτέλα
- Στη συνέχεια, επικολλήστε τα εξής VBA
Sub ConcatCols() 'Συνδέστε τις στήλες B & C στη στήλη E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5&C5" .Value = .Value End With End With End Sub
Ορίστε,
- With Φύλλα εργασίας("Φύλλο3") είναι το όνομα του τρέχοντος φύλλου εργασίας σας.
- LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row είναι το όνομα της πρώτης στήλης.
- With .Range("E5:E" & LastRow) είναι το εύρος κελιών επιστροφής του αποτελέσματος.
- .Formula = "=B5&C5" είναι ο τύπος για την ένωση του πρώτου κελιού της περιοχής.
Βήμα 2:
- Στη συνέχεια, τέλος, αποθηκεύστε και πατήστε F5 για να εκτελέσετε το πρόγραμμα.
Ως αποτέλεσμα, θα λάβετε τα αποτελέσματα εξ ολοκλήρου σε μια στήλη.
Διαβάστε περισσότερα: Πώς να χρησιμοποιήσετε το VBA Rnd στο Excel (4 μέθοδοι)
4. Ενώνετε πολλαπλές γραμμές χρησιμοποιώντας την VBA Concatenate
Εκτός από την προσθήκη πολλαπλών στηλών, μπορούμε επίσης να εφαρμόσουμε VBA κώδικα για τη συνένωση πολλαπλών γραμμών σε μία. Όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης, θέλουμε να συνθέσουμε τις τρεις γραμμές σε μία. Για να συνθέσετε τις γραμμές, ακολουθήστε τα παρακάτω απλά βήματα.
Βήμα 1:
- Για την ενεργοποίηση Μάκρο στο Excel, πατήστε Alt + F11 .
- Στη συνέχεια, επιλέξτε Ενότητα από το Εισαγωγή
- Για να συνδέσετε τις γραμμές, επικολλήστε το VBA
Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " Next rng Range("B8").Value = Trim(i) End Sub
Ορίστε,
- Set SourceRange = Range("B5:D5") είναι η περιοχή κυττάρων πηγής.
- Range("B8").Value = Trim(i) είναι ο αριθμός του κυττάρου επιστροφής.
Βήμα 2:
- Τέλος, αποθηκεύστε το πρόγραμμα και πατήστε F5 να τρέξει.
Έτσι, το τελικό αποτέλεσμα της συνένωσης των τριών γραμμών θα εμφανιστεί στο κελί B8 .
Διαβάστε περισσότερα: Πώς να καταργήσετε την απόκρυψη των κορυφαίων σειρών στο Excel (7 μέθοδοι)
Συμπέρασμα
Για να συνοψίσω, ελπίζω ότι αυτή η ανάρτηση παρείχε σαφείς οδηγίες σχετικά με τον τρόπο χρήσης των VBA να συνδέετε στο Excel με διάφορους τρόπους. Όλες αυτές οι τεχνικές θα πρέπει να τις μάθετε και να τις χρησιμοποιήσετε στα δεδομένα σας. Εξετάστε το βιβλίο πρακτικής εξάσκησης και χρησιμοποιήστε τις νεοαποκτηθείσες γνώσεις σας. Λόγω της ευγενικής σας υποστήριξης, έχουμε κίνητρο να συνεχίσουμε να δημιουργούμε εργαστήρια όπως αυτό.
Μην διστάσετε να επικοινωνήσετε μαζί μας εάν έχετε οποιαδήποτε απορία. Παρακαλούμε να μας πείτε τη γνώμη σας στην παρακάτω περιοχή σχολίων.
Το Exceldemy Η ομάδα θα απαντά συνεχώς στις ερωτήσεις σας.