Cách nối chuỗi và biến trong Excel VBA (Phân tích chi tiết)

  • Chia Sẻ Cái Này
Hugh West

Khi làm việc với VBA trong Excel, chúng ta thường phải nối (các) chuỗi và (các) biến trong một trang tính. Nối (các) chuỗi và (các) biến được sử dụng rộng rãi trong hầu hết các lĩnh vực trong công việc của chúng tôi, bắt đầu từ việc tóm tắt kết quả của sinh viên đến phân tích một doanh nghiệp phức tạp. Trong bài viết này, tôi sẽ chỉ cho bạn cách bạn có thể nối (các) chuỗi và (các) biến trong một trang tính với VBA trong Excel. Tôi sẽ giải thích mọi thứ bằng các ví dụ và hình minh họa phù hợp.

Nối (các) Chuỗi và (các) Biến trong Excel VBA (Xem nhanh)

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 hiện khi bạn đang đọc bài viết này.

Nối chuỗi và biến.xlsm

Nối (các) Chuỗi và (các) Biến trong Excel VBA (Phân tích từng bước)

Trước hết, hãy xem cách chúng ta có thể nối (các) chuỗi và (các) biến trong VBA theo từng bước.

⧪ (Các) Chuỗi nối:

Để nối hai hoặc nhiều chuỗi trong VBA , bạn có thể sử dụng cả ký hiệu phép cộng (+) số học và ký hiệu dấu và (& ).

Ví dụ: để nối các chuỗi “Great Expectations” “A Tale of Two Cities” bằng dấu phẩy , bạn có thể sử dụng:

2785

Hoặc,

7452

Chạy bất kỳ mã nào ở trên. Nó sẽ hiển thị đầu ra được nối, Kỳ vọng lớn,Câu chuyện về hai thành phố .

⧪ (Các) biến nối

Nếu tất cả các biến chứa giá trị chuỗi, thì bạn có thể sử dụng cả ký hiệu phép cộng (+) số học và ký hiệu dấu và (&) .

Nhưng nếu không, thì bạn có thể sử dụng chỉ ký hiệu và (&) để nối.

Ví dụ: Giả sử có hai biến, A B .

A chứa một chuỗi, “A Tale of Two Cities” B chứa một chuỗi khác, “The Forty Rules of Love” .

Bạn có thể sử dụng cả ký hiệu phép cộng (+) và ký hiệu dấu và (&) để nối chúng.

6381

Hoặc,

6239

Trong cả hai trường hợp, chúng sẽ trả về chuỗi nối.

Nhưng nếu A là một chuỗi ( “A Tale of Two Cities” ) và B là một số nguyên ( 27 ), bạn phải sử dụng ký hiệu dấu và (&) để nối.

8693

Nó sẽ trả về đầu ra được nối .

Ví dụ để Concat gán Chuỗi và Biến trong Excel VBA (Liên quan đến Macro, UDF và UserForm)

Chúng ta đã học cách nối (các) chuỗi và (các) biến với VBA trong Excel . Lần này chúng ta sẽ khám phá một số ví dụ liên quan đến việc nối (các) chuỗi và (các) biến với VBA .

Ví dụ 1: Phát triển một Macro để nối (các) chuỗi và (các) biến trong Excel VBA

Chúng ta đã học cáchnối chuỗi và biến với VBA . Lần này chúng ta sẽ phát triển một Macro để nối các chuỗi và biến của nhiều cột trong một trang tính.

Ở đây chúng ta có tập dữ liệu với tên sách , tác giả giá cả của một số sách của hiệu sách có tên là Hiệu sách Martin.

Hãy phát triển một Vĩ mô để nối các cột 1, 2, 3 của tập dữ liệu B4:D14 trong ô F4 .

VBA sẽ là:

⧭ Mã VBA:

5711

⧭ Đầu ra :

Chạy mã này. Bạn sẽ nhận được các cột 3 được nối trong phạm vi F4:F14.

Đọc thêm: Macro to Nối nhiều cột trong Excel (với UDF và UserForm)

Ví dụ 2: Tạo hàm do người dùng xác định để nối (các) chuỗi và (các) biến trong Excel VBA

Chúng ta đã học cách phát triển một Macro để nối nhiều cột của tập dữ liệu. Lần này chúng ta sẽ tạo một Hàm do người dùng xác định để nối các chuỗi hoặc biến trong Excel.

VBA hoàn chỉnh sẽ là:

⧭ Mã VBA:

5632

⧭ Đầu ra:

Chọn cột mà bạn muốn nối các phạm vi và nhập công thức sau:

=ConcatenateValues("She","H. Rider Haggard",", ")

Nó sẽ trả về She, H. Rider Haggard làm đầu ra.

Một lần nữa, hãy nhập công thức:

=ConcatenateValues(B4:B14,30,", ")

[ Công thức mảng . Vì vậy, đừng quênnhấn CTRL + SHIFT + ENTER trừ khi bạn đang ở Office 365 .]

Nó sẽ nối 30 với tất cả các giá trị của phạm vi B4:B14 .

Cuối cùng, hãy nhập:

=ConcatenateValues(B4:B14,C4:C14,", ")

[Một lần nữa Công thức mảng . Vì vậy, đừng quên nhấn CTRL + SHIFT + ENTER trừ khi bạn đang sử dụng Office 365 .]

Nó sẽ nối tất cả các giá trị của phạm vi B4: B14 với các C4:C14 .

Đọc thêm: Cách ghép nối trong Excel (3 cách phù hợp)

Bài đọc tương tự:

  • Cách kết hợp văn bản từ hai ô trở lên thành một ô trong Excel (5 phương pháp)
  • Kết hợp các hàng thành một ô trong Excel
  • Nối các số trong Excel (4 công thức nhanh)
  • Kết hợp văn bản trong Excel (8 cách phù hợp)
  • Cách nối dấu nháy đơn trong Excel (6 cách dễ dàng)

Ví dụ 3: Phát triển một UserForm để nối (các) chuỗi và (các) biến trong một Trang tính khác trong Excel VBA

Chúng ta đã học cách phát triển Macro Do người dùng xác định function để nối các chuỗi và giá trị. Cuối cùng, chúng ta sẽ phát triển một UserForm để nối các chuỗi và giá trị vào vị trí mong muốn của trang tính mong muốn.

⧪ Bước 1: Chèn UserForm

Đi tới Chèn > Tùy chọn UserForm trên thanh công cụ VBA để chèn UserForm mới.

⧪ Bước 2: Kéo Công cụ đểUserForm

A UserForm được gọi là UserForm1 sẽ được mở cùng với Toolbox được gọi là Control .

Di chuột qua e Hộp công cụ và kéo 2 Hộp danh sách, 5 Hộp văn bản, 7 Nhãn và 1 Nút lệnh trong Biểu mẫu người dùng .

Thay đổi cách hiển thị của Nhãn như minh họa trong hình.

Tương tự, thay đổi cách hiển thị của CommandButton thành OK .

⧪ Bước 3: Viết mã cho TextBox1

Nhấp đúp chuột vào TextBox1 . Thủ tục con riêng tư được gọi là TextBox1_Change sẽ mở ra. Nhập đoạn mã sau vào đó.

2534

⧪ Bước 4: Viết Code cho TextBox3

Tương tự, double click vào Hộp văn bản3 . Một Thủ tục con riêng tư khác được gọi là TextBox3_Change sẽ mở ra. Nhập đoạn mã sau vào đó.

6214

⧪ Bước 5: Viết mã cho TextBox4

Ngoài ra, nhấp đúp chuột vào Hộp văn bản3 . Một Thủ tục con riêng tư khác được gọi là TextBox3_Change sẽ mở ra. Nhập mã sau vào đó.

8787

⧪ Bước 6: Viết mã cho ListBox2

Sau đó nhấp đúp chuột vào ListBox2 . Khi Quy trình con riêng tư được gọi là ListBox2_Click mở ra, hãy nhập mã này vào đó.

9431

⧪ Bước 7: Viết mã đối với CommanButton1

Ngoài ra, hãy nhấp đúp vào CommandButton1 . Sau Thủ tục con riêng tư được gọi là CommandButton1_Change mở ra, chèn đoạn mã sau vào đó.

3538

⧪ Bước 7: Viết mã để chạy UserForm

Bây giờ là bước cuối cùng. Chèn một Mô-đun mới từ thanh công cụ VBA và chèn đoạn mã sau.

3151

⧪ Bước 8: Chạy UserForm

UserForm của bạn hiện đã sẵn sàng để sử dụng. Để chạy nó, hãy chọn tập dữ liệu từ trang tính (Bao gồm Tiêu đề ) và chạy Macro có tên là Run_UserForm .

UserForm sẽ tải với tất cả các tùy chọn. Địa chỉ phạm vi đã chọn sẽ được hiển thị trên TextBox1 ( B3:D4 tại đây). Nếu bạn muốn, bạn có thể thay đổi nó. Phạm vi đã chọn trong trang tính sẽ thay đổi.

Chọn các cột mà bạn muốn nối từ Cột vào Nối ListBox. Ở đây tôi đã chọn Tên sách Giá .

Nhập Dấu phân cách . Ở đây tôi đã nhập dấu phẩy ( , ).

Chọn tên trang tính nơi bạn muốn đặt phạm vi nối từ Dấu vào nối hộp danh sách. Ở đây tôi đã nhập Trang tính 3 .

(Thời điểm bạn chọn trang tính, nó sẽ được kích hoạt, ngay cả khi nó không phải là trang tính đang hoạt động.)

Sau đó, chèn Vị trí đầu ra . Đó là tham chiếu ô của ô đầu tiên của phạm vi được nối. Ở đây tôi đã đặt B3 .

(Thời điểm bạn nhập Vị trí đầu ra , phạm vi đầu ra sẽ được chọn).

Và cuối cùng , nhậptên của Tiêu đề đầu ra (Tiêu đề của Phạm vi đầu ra). Ở đây tôi đã đặt Phạm vi nối .

(Thời điểm bạn đặt Tiêu đề đầu ra , tiêu đề của cột đầu ra sẽ được đặt.)

Nhấp vào OK . Bạn sẽ nhận được đầu ra mong muốn ở vị trí mong muốn.

Đọc thêm: Cách nối chuỗi và số nguyên bằng VBA

Kết luận

Vì vậy, đây là một số ví dụ mà bạn có thể sử dụng Excel VBA để nối các chuỗi và biến. Hy vọng các ví dụ làm cho mọi thứ khá rõ ràng cho bạn. Bạn có câu hỏi nào không? Hãy hỏi chúng tôi. Và đừng quên truy cập trang web của chúng tôi ExcelWIKI để biết thêm các bài đăng và cập nhật.

Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.