Cách tách chuỗi thành mảng trong VBA (3 cách)

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

Trong bài viết này, tôi sẽ chỉ cho bạn cách tách một chuỗi thành một mảng trong VBA . Split là một trong những chức năng quan trọng và được sử dụng rộng rãi nhất mà chúng tôi sử dụng trong VBA . Bạn sẽ học cách tách chuỗi trong VBA theo mọi cách có thể.

Chức năng tách chuỗi VBA (Xem nhanh)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

Tải xuống Sách bài tập thực hành

Tách chuỗi thành mảng.xlsm

3 cách tách một chuỗi thành một mảng trong VBA

Chúng ta hãy có một chuỗi trong tay “Chúng tôi đã nộp đơn xin thị thực của Hoa Kỳ, Canada, Úc và Pháp .” .

Tôi sẽ chỉ cho bạn cách bạn có thể tách chuỗi này thành một mảng theo mọi cách có thể bằng cách sử dụng hàm Split của VBA .

1. Sử dụng bất kỳ dấu phân cách nào để tách một chuỗi thành một mảng trong VBA

Bạn có thể sử dụng bất kỳ chuỗi nào làm dấu phân cách để tách một chuỗi thành một mảng trong VBA .

Đó có thể là dấu cách (“ “) , dấu phẩy (“,”) , dấu chấm phẩy (“:”) , một ký tự đơn, một chuỗi ký tự hoặc bất kỳ thứ gì.

Ví dụ 1:

Hãy tách chuỗi bằng cách sử dụng dấu phẩy làm dấu dấu phân cách.

Dòng mã sẽ là:

Arr = Split(Text, ",")

Toàn bộ Mã VBA sẽ là:

Mã VBA:

8886

Đầu ra:

Nó sẽ chia chuỗi thành một mảng bao gồm {“Chúng tôi đã nộp đơn xin thị thực của Hoa Kỳ”, “Canada”, “Úc”, “Pháp”}.

Ví dụ 2:

Bạn cũng có thể sử dụng dấu cách (“ ”) làm dấu phân cách.

Dòng mã sẽ là:

Arr = Split(Text, " ")

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

Mã VBA:

Sub Split_String() Text = "We applied for the visa of U.S, Canada, Australia, and France." Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr)     Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub

Đầu ra:

Nó sẽ chia chuỗi thành một mảng bao gồm {“We”, “applied”, “for”, “các”, “thị thực”, “của”, “Mỹ”, “Canada”, “Úc”, “Pháp”,}.

Những điều cần nhớ:

  • Dấu phân cách mặc định là dấu cách (“ ”) .
  • Tức là, nếu bạn không chèn bất kỳ dấu phân cách nào, nó sẽ sử dụng dấu cách làm dấu phân cách.

Đọc thêm: Tách chuỗi theo ký tự trong Excel (6 cách phù hợp)

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

  • Chia văn bản thành nhiều các ô trong Excel
  • VBA để lấy các giá trị duy nhất từ ​​cột thành mảng trong Excel (3 tiêu chí)
  • VBA Excel: Cách lọc bằng nhiều Tiêu chí trong mảng (7 cách)

2. Tách một chuỗi thành một mảng với số lượng mục bất kỳ

Bạn có thể tách một chuỗi thành một mảng với số lượng mục bất kỳ theo ý muốn của mình.

Chèn số lượng mục như đối số thứ 3 của Hàm phân tách .

Ví dụ:

Hãy chia chuỗi vào các mục 3 đầu tiên có dấu cách làm dấu phân cách.

Dòng mã sẽlà:

Arr = Split(Text, " ", 3)

Mã VBA sẽ là:

Mã VBA:

1849

Đầu ra:

Nó sẽ chia chuỗi thành một mảng bao gồm các mục 3 đầu tiên được phân tách bằng dấu phân cách dấu cách .

Những điều cần nhớ:

  • Đối số mặc định là -1 .
  • Điều đó có nghĩa là nếu bạn không nhập đối số, nó sẽ tách ra chuỗi thành số lần tối đa có thể.

Đọc thêm: Cách tách chuỗi theo độ dài trong Excel (8 cách)

3. Sử dụng cả Dấu tách phân biệt chữ hoa chữ thường và Không phân biệt chữ hoa chữ thường để phân tách một chuỗi thành một mảng trong VBA

Hàm Split cho phép bạn sử dụng cả phân biệt chữ hoa chữ thường phân biệt chữ hoa chữ thường dấu phân cách.

Đối với dấu phân cách phân biệt chữ hoa chữ thường , hãy chèn đối số thứ 4 dưới dạng 1.

Và đối với dấu phân cách phân biệt chữ hoa chữ thường , hãy chèn đối số thứ 4 0 .

Ví dụ 1: Dấu phân cách không phân biệt chữ hoa chữ thường

Trong chuỗi đã cho, hãy coi văn bản “FOR” là dấu phân cách và 2 là dấu phân cách tổng số phần tử của mảng.

Bây giờ, đối với trường hợp phân biệt chữ hoa chữ thường , dòng mã sẽ là:

Arr = Split(Text, "FOR ", 3,1)

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

Mã VBA:

8542

Đầu ra:

Vì dấu phân cách phân biệt chữ hoa chữ thường ở đây, “CHO ” sẽ hoạt động như “for” và nó sẽ chia chuỗi thành một mảng gồm hai mục.

Ví dụ 2: Dấu tách phân biệt chữ hoa chữ thường

Một lần nữa, đối với trường hợp phân biệt chữ hoa chữ thường , dòng mã sẽ là:

Arr = Split(Text, "FOR ", 3,0)

Mã VBA đầy đủ sẽ là:

Mã VBA:

7671

Đầu ra:

Vì dấu phân cách phân biệt chữ hoa chữ thường nên ở đây, “ FOR” sẽ không bằng “for” và nó sẽ không chia chuỗi thành một mảng gồm hai mục.

Đọc thêm: Excel VBA: Loại bỏ các bản sao khỏi một mảng (2 ví dụ)

Những điều cần nhớ:

  • Giá trị mặc định của đối số là 0 .
  • Tức là, nếu bạn không đặt giá trị của đối số thứ 4 , nó sẽ hoạt động đối với trường hợp khớp phân biệt chữ hoa chữ thường .

Kết luận

Do đó, bằng cách sử dụng các phương pháp này, bạn có thể sử dụng Hàm Split của VBA để tách một chuỗi thành một mảng các mục. Bạn có câu hỏi nào không? Hãy hỏi chúng tôi.

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ọ.