VBA Concatenate - Làm thế nào để nối các chuỗi với nhau trong VBA?

Nối có nghĩa là nối hai giá trị hoặc hai chuỗi với nhau, tương tự như excel chúng ta sử dụng & hoặc còn được gọi là toán tử dấu và để nối, hai nối hai chuỗi chúng ta sử dụng & toán tử như Chuỗi 1 & Chuỗi 2, bây giờ có một điều quan trọng cần nhớ và là trong khi sử dụng toán tử &, chúng ta cần cung cấp khoảng trắng hoặc VBA sẽ xem xét nó.

Chuỗi kết hợp VBA

VBA Concatenate là một trong những thứ mà chúng tôi đã sử dụng để kết hợp hai hoặc nhiều giá trị ô giá trị với nhau. Nếu tôi nói bằng ngôn ngữ đơn giản thì nó đang kết hợp, nó đang kết hợp hai hoặc nhiều giá trị với nhau để có giá trị đầy đủ.

Chúng ta có một hàm CONCATENATE trong excel, hàm này sẽ thực hiện việc kết hợp hai hoặc nhiều giá trị với nhau hoặc hai hoặc nhiều giá trị ô với nhau.

Nhưng trong VBA, chúng tôi không có bất kỳ hàm tích hợp nào để nối hai hoặc nhiều giá trị với nhau. Trên thực tế, chúng tôi thậm chí không thể truy cập vào lớp hàm trang tính để truy cập hàm VBA CONCATENATE dưới dạng một hàm trang tính.

Làm thế nào để nối các chuỗi trong VBA?

Nếu chúng ta không có bất kỳ loại hàm tích hợp nào để nối các giá trị và ngay cả hàm trang tính cũng không được tích hợp với VBA. Bây giờ thách thức là, chúng ta kết hợp các giá trị như thế nào?

Mặc dù không có hàm tích hợp sẵn, chúng ta vẫn có thể kết hợp trong VBA bằng cách sử dụng ký hiệu “dấu và” (&).

Nếu bạn theo dõi các bài viết của chúng tôi thường xuyên, chúng tôi thường sử dụng ký hiệu và (&) trong mã hóa của mình.

Ví dụ: nếu bạn có tên và họ riêng biệt, chúng ta có thể kết hợp hai tên này lại và tạo thành tên đầy đủ. Làm theo các bước dưới đây để tự viết mã macro VBA.

Bước 1: Đi tới Visual Basic Editor và tạo một thủ tục con VBA.

Bước 2: Xác định ba biến là Chuỗi .

Mã:

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

Bước 3: Bây giờ hãy gán họ và tên cho biến.

Mã:

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

Bước 4: Bây giờ hãy kết hợp hai tên này thành biến Full_Name bằng cách sử dụng biến dấu và.

Mã:

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

Bước 5: Bây giờ hiển thị giá trị của biến Full_Name trong hộp thông báo.

Mã:

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

Bây giờ chạy mã; chúng ta sẽ nhận được tên đầy đủ trong hộp tin nhắn.

Vấn đề với tên đầy đủ này là chúng ta đã không thêm dấu cách ký tự phân tách tên và họ, trong khi kết hợp tên và họ, kết hợp cả ký tự khoảng trắng.

Mã:

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

Điều này sẽ cung cấp một tên đầy đủ thích hợp ngay bây giờ.

Như thế này bằng cách sử dụng ký hiệu và, chúng ta có thể nối các giá trị. Bây giờ chúng ta sẽ cùng nhau giải bài toán bảng tính Họ & Tên để biến nó thành tên đầy đủ.

Vì chúng ta cần kết hợp nhiều tên, chúng ta cần sử dụng các vòng lặp để kết hợp họ & tên. Đoạn mã dưới đây sẽ thực hiện công việc cho bạn.

Mã:

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

Điều này sẽ kết hợp tên và họ, giống như hàm nối VBA của chúng tôi.

Sai lầm phổ biến trong ký hiệu và kết nối VBA

Nếu bạn nhận thấy mã của tôi, tôi đã thêm ký tự khoảng trắng giữa các giá trị một ký hiệu và. Đây là điều cần thiết vì bản chất của lập trình VBA.

Chúng ta không thể kết hợp các giá trị và ký hiệu và ký hiệu với nhau; nếu không, chúng ta sẽ gặp lỗi Biên dịch như bên dưới.

VBA Concatenate sử dụng hàm JOIN

Trong VBA, chúng ta có thể sử dụng hàm JOIN để kết hợp các giá trị. Đầu tiên, hãy xem cú pháp hàm VBA JOIN.

  • Mảng không là gì ngoài một mảng chứa các giá trị của chúng ta - ví dụ: cả tên và họ.
  • Dấu phân tách không là gì khác ngoài dấu phân cách giữa mỗi giá trị mảng, trong trường hợp này là ký tự khoảng trắng.

Đoạn mã dưới đây sẽ hiển thị ví dụ tương tự.

Mã:

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

thú vị bài viết...