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

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

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

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 

ενδιαφέροντα άρθρα...