Chuỗi con VBA | Làm thế nào để trích xuất chuỗi con bằng cách sử dụng các hàm VBA?

Chuỗi con VBA trong Excel

Chuỗi con là một phần của chuỗi hoặc một phần hoặc ký tự của chuỗi được gọi là “Chuỗi con”. Có ba loại hàm chuỗi con trong VBA LEFT, RIGHT và MID, chúng tương tự như các chuỗi con của trang tính trong excel.

Một chuỗi không là gì ngoài một chuỗi các ký tự và các ký tự có thể là bảng chữ cái, số, ký tự đặc biệt và cũng có thể kết hợp tất cả những ký tự này.

Thông thường, trong excel khi chúng ta làm việc với dữ liệu là chuỗi, chúng ta chỉ cần lấy một phần của chuỗi để tạo điều kiện cho mục đích của chúng ta. Chúng tôi có thể không cần chuỗi đầy đủ để sử dụng nhưng chúng tôi chỉ cần một phần của chuỗi để sử dụng. Ví dụ, nếu bạn có tên "Sachin Tendulkar", bạn có thể chỉ cần phần đầu tiên của tên tức là chỉ "Sachin". Đây được gọi là Chuỗi con của chuỗi trong Excel VBA. Để đối phó với những chuỗi này, chúng tôi có các hàm tích hợp trong hàm TEXT trong danh mục excel.

Trong bài viết này, chúng ta sẽ thảo luận về cách lấy chuỗi con từ chuỗi đầy đủ trong VBA.

Làm thế nào để sử dụng các hàm chuỗi con trong VBA?

Để trích xuất chuỗi con từ chuỗi, chúng ta có một số hàm văn bản tích hợp sẵn và một số hàm quan trọng là LEFT, RIGHT, INSTR và MID trong excel. Chức năng hướng dẫn sẽ đóng vai trò là chức năng hỗ trợ cho ba chức năng còn lại.

Chúng ta sẽ xem cách sử dụng các hàm này để trích xuất các chuỗi con một cách thực tế. Đọc các ví dụ dưới đây để hiểu chúng.

Bạn có thể tải xuống Mẫu Excel chuỗi con VBA này tại đây - Mẫu Excel chuỗi con VBA

Ví dụ # 1 - Sử dụng Hàm Trái

Nếu bạn có tên đầy đủ là “Sachin Tendulkar” và bạn chỉ cần lấy tên đầu tiên làm chuỗi con, hãy sử dụng mã sau để lấy giống.

Bước 1: Tạo tên macro và xác định hai biến là Chuỗi.

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String End Sub 

Bước 2: Bây giờ gán tên “Sachin Tendulkar” cho biến FullName .

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" End Sub 

Bước 3: Bây giờ biến FullName giữ giá trị của “Sachin Tendulkar”. Bây giờ Chúng ta cần trích xuất chuỗi con VBA excel của tên đầu tiên từ tên đầy đủ. Vì vậy, hãy gán giá trị cho biến FirstName thông qua hàm LEFT.

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (End Sub 

Bước 4: Đối số đầu tiên của hàm VBA LEFT là String, đó là giá trị đầy đủ hoặc chuỗi đầy đủ. Trong ví dụ này, giá trị hoặc chuỗi đầy đủ của chúng ta là “Sachin Tendulkar” được gán cho biến FullName.

Vì vậy, cung cấp biến FullName làm đối số.

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left End Sub 

Bước 5: Đối  số tiếp theo là chúng ta cần bao nhiêu ký tự từ chuỗi mà chúng ta đã cung cấp, vì vậy trong trường hợp này, chúng ta cần tên đầu tiên “ Sachin ”, vì vậy chúng ta hoàn toàn cần 6 ký tự từ phía bên trái.

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub 

Bước 6: Bây giờ hiển thị kết quả trong một hộp thông báo trong VBA.

Mã:

 Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) MsgBox FirstName End Sub 

Bước 7: Chạy macro xem tên đầu tiên là một chuỗi con trong hộp thông báo.

Ví dụ # 2 - Lấy chuỗi con từ bên phải

Giống như cách chúng ta đã trích xuất chuỗi con từ bên trái, tương tự, chúng ta cũng có thể trích xuất từ ​​bên phải. Lấy tên giống như một ví dụ.

Bước 1: Định nghĩa hai biến là Chuỗi.

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String End Sub 

Bước 2: Như thường lệ, gán giá trị cho biến FullName“Sachin Tendulkar”

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" End Sub 

Bước 3: Bây giờ cho biến LastName gán giá trị thông qua hàm RIGHT excel.

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (End Sub 

Bước 4: String là FullName của chúng ta vì vậy hãy cung cấp biến.

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub 

Bước 5: Độ dài là ta cần bao nhiêu ký tự từ phía bên phải, từ phía bên phải chúng ta cần 9 ký tự .

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) End Sub 

Bước 6: Hiển thị giá trị này trong hộp thông báo .

Mã:

 Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) MsgBox LastName End Sub 

Bước 7: Chạy macro chúng ta sẽ thấy họ trong hộp thông báo.

Ví dụ # 3 - Sử dụng chức năng hướng dẫn

Trong các ví dụ trên, chúng tôi chỉ có một tên và chúng tôi đã cung cấp trực tiếp bao nhiêu ký tự mà chúng tôi cần từ bên trái và bên phải. Nhưng trong trường hợp nhiều tên ký tự họ & tên không giống nhau thì tùy từng tên sẽ khác nhau. Trong những trường hợp đó, chúng tôi không thể cung cấp số lượng ký tự trực tiếp nên chúng tôi có thể sử dụng chức năng hướng dẫn.

Hàm hướng dẫn sẽ trả về vị trí ký tự được cung cấp trong chuỗi. Để biết ví dụ, hãy xem đoạn mã dưới đây.

Mã:

 Chuỗi con phụ_Example3 () Vị trí mờ làm vị trí chuỗi = InStr (1, "Sachin", "a") Vị trí MsgBox Cuối con 

InStr (1, “Sachin”, “a”) sẽ xác định vị trí của chữ “a” là lần xuất hiện đầu tiên trong chuỗi “Sachin”. Trong trường hợp này, chữ “a” ở vị trí thứ hai. Vì vậy, chúng tôi sẽ nhận được 2 là kết quả trong hộp thông báo.

Như vậy, chúng ta có thể sử dụng chức năng hướng dẫn để tìm ký tự khoảng trắng giữa họ và tên.

Để có một ví dụ, hãy nhìn vào tên tôi có trong trang tính excel bên dưới.

Sử dụng hàm LEFT, RIGHT, và hàm Guid, chúng ta có thể trích xuất các chuỗi con. Dưới đây là mã để trích xuất Tên.

Mã:

 Sub FirstName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1) .End (xIUp) .Row For K = 2 To LR Cells (K, 2) .Value = Left (Cells (K, 1) .Value, InStr (1, Cells (K, 1) .Value, "") - 1) Tiếp theo K End Sub 

Chạy macro và xem tên dưới dạng chuỗi con trong hộp thông báo.

Sử dụng mã bên dưới để trích xuất họ dưới dạng chuỗi con.

Mã:

 Sub LastName () Dim K As Long Dim LR As Long LR = Cells (Rows.Count, 1) .End (xIUp) .Row For K = 2 To LR Cells (K, 3) .Value = Right (Cells (K, 1) .Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1) .Value, "")) Next K End Sub 

Chạy macro và chúng ta sẽ thấy họ trong hộp thông báo.

Tôi đã gán nút macro cho trang tính, tải xuống sổ làm việc và sử dụng chúng.


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