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

Nối có nghĩa là nối hai giá trị hoặc hai chuỗi lạ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 tôi cần cung cấp khoảng trắng hoặc VBA sẽ xem xét nó miễn là.

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 trong ngôn ngữ đơn giản là 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 được gọi là CONCATENATE trong excel 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ỳ chức năng 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 có quyền truy cập vào lớp hàm trang tính để truy cập hàm VBA CONCATENATE dưới dạng hàm trang tính.

Làm thế nào để nối 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à làm thế nào để chúng ta kết hợp các giá trị?

Mặc dù không có hàm tích hợp nào, 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 chúng tôi.

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 để viết mã macro VBA của riêng chúng tôi.

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ờ 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ờ kết hợp hai tên này thành biến Full_Name bằng cách sử dụng biến ký hiệ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 tôi 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 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 hợp 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 tôi 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 tôi sẽ nhận được Lỗi biên dịch như bên dưới.

VBA Concatenate sử dụng chức năng 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ì khác 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 

$config[zx-auto] not found$config[zx-overlay] not found