Mục lục
Trong Excel, nối là quá trình nối hai chuỗi lại với nhau để tạo thành một chuỗi duy nhất. Nói một cách đơn giản, nếu chúng ta có một bảng có tên trong một cột và họ trong một cột khác, chúng ta có thể sử dụng thủ tục nối để nối và kết hợp chúng trong một ô trong tích tắc. Trong Excel, chúng ta có một hàm gọi là CONCATENATE () cho phép chúng ta thực hiện phép nối này. Tuy nhiên, trong VBA , loại chức năng này không được phép. Chúng tôi không thể sử dụng CONCATENATE () trong mã VBA vì nó không hoạt động. Bởi vì VBA thiếu các chức năng tích hợp sẵn và chúng tôi không thể sử dụng các chức năng bảng tính. Vì vậy, bài học này sẽ trình bày cho bạn cách sử dụng VBA concatenate để kết hợp nhiều ô, cột và hàng trong Excel.
Tải xuống Sách bài tập thực hành
Tải xuống sách bài tập thực hành này để thực hành trong khi bạn đang đọc bài viết này.
VBA Concatenate Function.xlsm
Giới thiệu về VBA Concatenate Function
Như chúng ta đã biết đã đề cập rằng Excel không có bất kỳ hàm dựng sẵn nào cho VBA Concatenate, nhưng chúng ta có thể làm cho nó hoạt động như một hàm bằng cách kết hợp các chuỗi khác nhau với các toán tử. Ở đây, chúng tôi sử dụng dấu và (&) làm toán tử.
⟴ Cú pháp
String1 = “ Văn bản đầu tiên”
String2 = “ Văn bản thứ hai”
⟴ Giá trị trả về
Return_value = String1 & String2
4 Công dụng khác nhau của VBA ConcatenateHàm trong Excel
Ở đây, chúng ta sẽ sử dụng 4 cách tiếp cận khác nhau để thực hiện quá trình nối. Chúng tôi sẽ áp dụng các toán tử khác nhau kết hợp với mã VBA để đạt được điều này.
1. Sử dụng toán tử Dấu và (&) để nối các ô trong VBA Concatenate
Như minh họa trong ảnh chụp màn hình bên dưới, chúng tôi có bộ sưu tập dữ liệu hai cột với tên ở một cột và họ ở cột kia. Bằng cách hợp nhất hai cột, bây giờ chúng ta có thể nhận được toàn bộ tên. Bởi vì VBA không có bất kỳ phương thức tích hợp sẵn nào để ghép nối nên chúng tôi sẽ sử dụng toán tử dấu và (&) như được trình bày chi tiết trong hướng dẫn bên dưới.
Bước 1:
- Trước hết, nhấn Alt + F11 để mở Trang tính đã bật macro.
- Sau đó, nhấp vào
- Chọn Mô-đun .
Bước 2:
- Để kết hợp hai ô thành một, hãy sao chép và dán VBA sau
9135
Ở đây,
- String1 = Cells(5, 2).Value là vị trí ô đầu tiên B5 , hàng 5, và cột 2 .
- String2 = Cells(5, 3).Value là vị trí ô thứ hai C5 , hàng 5, và cột 3 .
- Ô(5, 5).Value = String1 & String2 là vị trí ô kết quả E5 , hàng 5 và cột 5 .
- String1 & Chuỗi2 là hai chuỗi được nối bởi dấu và (&)
Bước3:
- Save và nhấn F5 để chạy chương trình.
Do đó, bạn sẽ nhận được kết quả trong Ô E5 của trang tính hiện tại của bạn.
Bước 4:
- Làm theo và lặp lại các bước cho các ô còn lại và nhận được kết quả như trong hình bên dưới.
Lưu ý. Để chạy VBA mã, mỗi lần đảm bảo rằng tệp Excel của bạn được lưu ở định dạng Excel Trang tính hỗ trợ macro (xlsm.) .
Đọc thêm: Cách sử dụng VBA StrComp trong Excel ( 5 Ví dụ phổ biến)
2. Sử dụng Toán tử Cộng (+) để nối các ô trong VBA Concatenate
Như đã mô tả trong phần trước, chúng ta đã sử dụng dấu và (& ;) toán tử để nối các chuỗi ô. Bạn có thể nhận được kết quả tương tự bằng cách áp dụng dấu cộng (+) thay cho dấu và (&) toán tử. Để hoàn thành, hãy làm theo các bước sau.
Bước 1:
- Mở Macro trong Excel, nhấn Alt + F11 .
- Nhấp vào Chèn và chọn
- Sau khi mở trang chương trình, hãy dán sau VBA
1352
Đây,
- Cells(5, 5).Value = String1 + String2 là dòng này chúng tôi sử dụng dấu cộng (+) thay vì dấu và (&)
Bước 2 :
- Sau khi paste lưu lại và nhấn F5 để chạy chương trình. Do đó, bạn sẽ thấy sự thay đổi trong ô E5 .
- Để có được kết quả cuối cùng, hãy điền vào các ô được yêu cầu bằng cách thực hiện lại các bước trước đó.
Đọc thêm: Cách sử dụng hàm VBA StrConv (5 ví dụ)
Tương tự Bài đọc:
- Cách gọi Sub trong VBA trong Excel (4 ví dụ)
- Trả về giá trị trong hàm VBA (Cả hai Giá trị mảng và không phải mảng)
- Cách sử dụng hàm VBA DIR trong Excel (7 ví dụ)
- Sử dụng hàm VBA UCASE trong Excel ( 4 Ví dụ)
- Cách Sử dụng Hàm InStr trong VBA (3 Ví dụ)
3. Thêm Nhiều Cột Sử dụng VBA Concatenate
Trong hai cách tiếp cận trước, chúng ta đã thảo luận cách kết hợp hai ô. Tuy nhiên nếu chúng ta muốn áp dụng cho toàn bộ cột thì việc thêm từng cái một sẽ rất lâu. Chúng tôi sẽ hướng dẫn bạn cách thêm hoàn toàn nhiều cột bằng mã VBA cho việc này.
Bước 1:
- Đầu tiên, để mở Macro nhấn Alt + F11
- Chọn Mô-đun từ Chèn thẻ
- Sau đó, dán VBA
6884
vào đây,
- Với Worksheets(“Sheet3”) là tên trang tính hiện tại của bạn.
- LastRow = .Cells(.Rows.Count, “B”).End(xlUp).Row là tên tên cột đầu tiên.
- Với .Range(“E5:E” & LastRow) là phạm vi ô trả về kết quả.
- .Formula = “= B5&C5” là công thức để tham giaô đầu tiên của phạm vi.
Bước 2:
- Sau đó, cuối cùng, lưu và nhấn F5 để chạy chương trình.
Kết quả là bạn sẽ nhận được toàn bộ kết quả trong một cột.
Đọc thêm: Cách sử dụng VBA Rnd trong Excel (4 phương pháp)
4. Nối nhiều hàng bằng VBA Concatenate
Ngoài việc thêm nhiều cột, chúng ta cũng có thể áp dụng Mã VBA để nối nhiều hàng thành một. Như được hiển thị trong ảnh chụp màn hình bên dưới, chúng tôi muốn nối ba hàng thành một. Để nối các hàng, hãy làm theo các bước đơn giản bên dưới.
Bước 1:
- Để kích hoạt Macro trong Excel, nhấn Alt + F11 .
- Sau đó, chọn Mô-đun từ Chèn
- Để nối các hàng, dán VBA
1587
Tại đây,
- Đặt SourceRange = Range(“B5:D5”) là phạm vi ô nguồn.
- Phạm vi(“B8”).Value = Trim(i) là số ô trả về.
Bước 2:
- Cuối cùng lưu chương trình và nhấn F5 để chạy.
Như vậy , kết quả cuối cùng nối ba hàng sẽ được hiển thị trong ô B8 .
Đọc thêm: Cách Bỏ ẩn các hàng trên cùng trong Excel (7 phương pháp)
Kết luận
Tóm lại, tôi hy vọng rằng bài đăng này đã cung cấp hướng dẫn rõ ràng về cách sử dụng VBA nối trong Excel theo nhiều cách khác nhau. Tất cảnhững kỹ thuật này nên được học và sử dụng trên dữ liệu của bạn. Kiểm tra cuốn sách thực hành và đưa kiến thức mới của bạn vào sử dụng. Nhờ sự hỗ trợ tận tình của bạn, chúng tôi có động lực để tiếp tục tổ chức các hội thảo như thế này.
Vui lòng liên hệ với chúng tôi nếu bạn có bất kỳ câu hỏi nào. Vui lòng cho chúng tôi biết suy nghĩ của bạn trong phần nhận xét bên dưới.
Nhóm Exceldemy sẽ liên tục trả lời các câu hỏi của bạn.