VBA Concatenate | Πώς να συνενώσετε χορδές μαζί στο VBA;

Συνδυασμός σημαίνει ένωση δύο τιμών ή δύο χορδών μαζί, παρόμοια με το Excel που χρησιμοποιούμε & ή επίσης γνωστό ως αμπέρ και χειριστή για συνένωση, δύο συνενωμένα δύο χορδές που χρησιμοποιούμε & χειριστή όπως το String 1 & String 2, τώρα υπάρχει ένα σημαντικό πράγμα που πρέπει να θυμάστε και ότι είναι κατά τη χρήση του & χειριστή πρέπει να παρέχουμε κενά ή το VBA θα το θεωρήσει τόσο μεγάλο.

VBA Concatenate Strings

Το VBA Concatenate είναι ένα από αυτά τα πράγματα που χρησιμοποιούσαμε για να συνδυάσουμε δύο ή περισσότερες τιμές κυψελών αξίας, αν λέω σε απλή γλώσσα συνδυάζει, ενώνει δύο ή περισσότερες τιμές μαζί για να έχει πλήρη αξία.

Έχουμε μια συνάρτηση που ονομάζεται CONCATENATE στο excel, η οποία θα συνδυάζει δύο ή περισσότερες τιμές ή δύο ή περισσότερες τιμές κελιού μαζί.

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

Πώς να συνδυάσετε χορδές στο VBA;

Εάν δεν έχουμε κανένα είδος ενσωματωμένης συνάρτησης για τη συνένωση τιμών και ακόμη και η λειτουργία φύλλου εργασίας δεν είναι ενσωματωμένη στο VBA. Τώρα η πρόκληση είναι πώς συνδυάζουμε τις τιμές;

Παρόλο που δεν υπάρχουν ενσωματωμένες λειτουργίες, μπορούμε να συνδυάσουμε στο VBA χρησιμοποιώντας το σύμβολο "ampersand" (&).

Εάν ακολουθείτε τακτικά τις δημοσιεύσεις μας, συχνά χρησιμοποιούμε το σύμβολο ampersand (&) στην κωδικοποίηση μας.

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

Βήμα 1: Μεταβείτε στην Επεξεργασία της Visual Basic και δημιουργήστε μια δευτερεύουσα διαδικασία VBA.

Βήμα 2: Ορίστε τρεις μεταβλητές ως συμβολοσειρά .

Κώδικας:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String End Sub 

Βήμα 3: Τώρα ορίστε το όνομα και το επώνυμο στη μεταβλητή.

Κώδικας:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub 

Βήμα 4: Τώρα συνδυάστε αυτά τα δύο ονόματα στη μεταβλητή Full_Name χρησιμοποιώντας τη μεταβλητή ampersand.

Κώδικας:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub 

Βήμα 5: Τώρα δείξτε την τιμή της μεταβλητής Full_Name στο πλαίσιο μηνύματος.

Κώδικας:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub 

Τώρα τρέξτε τον κωδικό που θα λάβουμε το πλήρες όνομα στο πλαίσιο μηνυμάτων

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

Κώδικας:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub 

Αυτό θα δώσει ένα σωστό πλήρες όνομα τώρα.

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

Δεδομένου ότι πρέπει να συνδυάσουμε πολλά ονόματα, πρέπει να χρησιμοποιήσουμε βρόχους για να συνδυάσουμε το όνομα και το επώνυμο. Ο παρακάτω κώδικας θα κάνει τη δουλειά για εσάς.

Κώδικας:

 Sub Concatenate_Example1 () Dim i As Integer For i = 2 to 9 Cells (i, 3). Value = Cells (i, 1) & "" & Cells (i, 2) Next i End Sub 

Αυτό θα συνδυάσει το όνομα και το επώνυμο όπως και η συνάρτηση VBA.

Κοινό λάθος στη συνένωση Ampersand VBA

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

Δεν μπορούμε να συνδυάσουμε τιμές και σύμβολα συμπίεσης αλλιώς θα λάβουμε το σφάλμα Compile όπως το παρακάτω.

VBA Concatenate χρησιμοποιώντας τη συνάρτηση JOIN

Στο VBA μπορούμε να χρησιμοποιήσουμε τη συνάρτηση JOIN για να συνδυάσουμε τιμές. Πρώτα, δείτε τη σύνταξη της συνάρτησης VBA JOIN.

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

Ο παρακάτω κώδικας θα δείξει το ίδιο παράδειγμα.

Κώδικας:

 Sub Concatenate_Example2 () Dim MyValues ​​As Variant Dim Full_Name As String MyValues ​​= Array ("Sachin", "Tendulkar") Full_Name = Join (MyValues, "") MsgBox Full_Name End Sub