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 thứ 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 khỏi chuỗi, chúng ta có một số hàm văn bản được 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.

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 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, 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ờ, đối với biến LastName, hãy 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: Chuỗi 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à bao nhiêu ký tự mà chúng ta cần từ phía bên phải. Chúng ta cần 9 ký tự ở phía bên phải.

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 tin nhắn.

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 số lượng ký tự chúng tôi cần từ bên trái và bên phải. Nhưng trong trường hợp có nhiều tên, ký tự họ & tên không giống nhau thì sẽ khác nhau tùy từng tên. 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. 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”), this will identify the position of the letter “a” as the first appearance in the string “Sachin.” In this case letter, “a” is in the second position. So we will get 2 as a result in the message box.

Like this, we can use the Instr function to find the space character between the first name and last name.

For example, look at the below name I have in the excel sheet.

Using LEFT, RIGHT, and Instr function, we can extract the substrings. Below is the code to extract the First Name.

Code:

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ã dưới đây để 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.

thú vị bài viết...