Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
No Result
View All Result
Home Chia Sẻ Kiến Thức Học Excel

Hàm InStr trong VBA và Cách Trích Xuất Chuỗi Hiệu Quả Hơn

Hàm InStr trong VBA và Cách Trích Xuất Chuỗi Hiệu Quả Hơn
6k
SHARES
19.5k
VIEWS
Share on FacebookShare on Twitter

Nội Dung Bài Viết

Toggle
  • Khi nào nên sử dụng InStr, Left, Right và Mid?
  • Xử lý chuỗi có độ dài thay đổi với hàm Split
  • Ví dụ ứng dụng hàm Split
  • Kết luận

Hàm InStr là một trong những hàm phổ biến nhất trong Excel VBA, dùng để tìm kiếm một chuỗi con trong chuỗi. Tuy nhiên, có những phương pháp hiệu quả hơn để trích xuất chuỗi mà không cần dùng đến InStr. Bài viết này sẽ hướng dẫn bạn cách sử dụng InStr trong VBA và giới thiệu các phương pháp thay thế tối ưu hơn.

Minh họa hàm InStrMinh họa hàm InStr

Khi nào nên sử dụng InStr, Left, Right và Mid?

Hàm InStr hữu ích khi bạn muốn kiểm tra sự tồn tại của một chuỗi con trong chuỗi. Left, Right và Mid phù hợp cho việc trích xuất đơn giản khi chuỗi con có kích thước và vị trí cố định.

Kiểm tra chuỗi con bằng InStr:

Ví dụ, để kiểm tra xem tên “John Henry Smith” có chứa “Henry” hay không:

Sub CheckName()
    Dim strName As String
    strName = "John Henry Smith"

    If InStr(1, strName, "Henry") > 0 Then
        Debug.Print "Tên chứa 'Henry'"
    Else
        Debug.Print "Tên không chứa 'Henry'"
    End If
End Sub

Nếu InStr trả về giá trị lớn hơn 0, chuỗi chứa chuỗi con cần tìm.

Trích xuất chuỗi bằng Left, Right và Mid:

Sub ExtractString()
    Dim strText As String
    strText = "1234ABC567"

    Debug.Print Left(strText, 4)    ' Kết quả: 1234
    Debug.Print Right(strText, 3)   ' Kết quả: 567
    Debug.Print Mid(strText, 5, 3)  ' Kết quả: ABC
End Sub

Ba hàm này hoạt động tốt khi văn bản cần trích xuất có kích thước và vị trí cố định. Trong các trường hợp khác, việc sử dụng InStr để xác định vị trí trở nên phức tạp.

Xem thêm:  Hướng Dẫn Chạy Python trong Power BI/Power Query Cho Người Mới Bắt Đầu

Minh họa Left, Right, MidMinh họa Left, Right, Mid

Xử lý chuỗi có độ dài thay đổi với hàm Split

Hàm Split là giải pháp hiệu quả cho việc trích xuất chuỗi có độ dài thay đổi. Hàm này chia chuỗi thành một mảng dựa trên ký tự phân cách, giúp truy cập từng phần tử dễ dàng.

Ví dụ, trích xuất tên từ chuỗi “John Henry Smith”:

Sub ExtractName()
    Dim strName As String
    Dim arrName As Variant

    strName = "John Henry Smith"
    arrName = Split(strName, " ")

    Debug.Print arrName(0)  ' Kết quả: John
    Debug.Print arrName(1)  ' Kết quả: Henry
    Debug.Print arrName(2)  ' Kết quả: Smith
End Sub

Split chia chuỗi tại mỗi khoảng trắng và lưu trữ các phần tử vào mảng arrName. Bạn có thể truy cập từng phần tử bằng chỉ số của nó (bắt đầu từ 0).

Minh họa hàm SplitMinh họa hàm Split

Ví dụ ứng dụng hàm Split

1. Trích xuất số từ tên tệp:

Sub ExtractFileNumber()
    Dim strFileName As String
    Dim arrFileName As Variant

    strFileName = "VB_23476_Val.xls"
    arrFileName = Split(strFileName, "_")

    Debug.Print arrFileName(1)  ' Kết quả: 23476
End Sub

2. Kiểm tra địa chỉ IP:

Sub ValidateIP()
    Dim strIP As String
    Dim arrIP As Variant
    Dim intSecondOctet As Integer

    strIP = "BE-ABCDDD-DDS 172.16.23.3"
    arrIP = Split(strIP, ".")

    intSecondOctet = CInt(arrIP(1))

    If intSecondOctet >= 16 And intSecondOctet <= 31 Then
        Debug.Print "Địa chỉ IP hợp lệ"
    Else
        Debug.Print "Địa chỉ IP không hợp lệ"
    End If
End Sub

Kết luận

InStr và InStrRev phù hợp cho việc kiểm tra sự tồn tại của chuỗi con. Left, Right và Mid hữu ích khi vị trí và kích thước chuỗi con cố định. Tuy nhiên, hàm Split là lựa chọn tối ưu cho việc trích xuất chuỗi có độ dài thay đổi, giúp mã gọn gàng và dễ hiểu hơn. Bên cạnh đó, việc sử dụng toán tử Like (khớp mẫu) cũng mang lại giải pháp đơn giản hơn cho việc kiểm tra định dạng chuỗi.

Xem thêm:  Cách Tính Số Năm trong Excel bằng Hàm YEARFRAC

Bạn đã nắm được cách sử dụng hàm InStr và các phương pháp trích xuất chuỗi hiệu quả hơn trong VBA. Hãy áp dụng những kiến thức này để tối ưu hóa code của bạn!

Đánh Giá Bài Viết
Tuyết Nhi

Tuyết Nhi

Tôi là Tuyết Nhi - Nữ phóng viên trẻ đến từ Hà Nội. Với niềm đam mê công nghệ, khoa học kỹ thuật, tôi yêu thích và muốn chia sẻ đến mọi người những trải nghiệm, kinh nghiệm về các lĩnh vực công nghệ, kỹ thuật... Rất mong được quý độc giả đón nhận ❤️.

Related Posts

Tách Chuỗi, Số và Gmail trong Excel Không Cần VBA
Học Excel

Tách Chuỗi, Số và Gmail trong Excel Không Cần VBA

Hướng Dẫn Lập Bảng Tổng Hợp Nhập Xuất Tồn Trong Kế Toán
Học Excel

Hướng Dẫn Lập Bảng Tổng Hợp Nhập Xuất Tồn Trong Kế Toán

Chuyển đổi giữa độ thập phân và độ phút giây trong Excel bằng VBA
Học Excel

Chuyển đổi giữa độ thập phân và độ phút giây trong Excel bằng VBA

Hướng Dẫn Tạo, Chỉnh Sửa và In Báo Cáo trong Access 2016
Học Excel

Hướng Dẫn Tạo, Chỉnh Sửa và In Báo Cáo trong Access 2016

Discussion about this post

Trending.

Bỉm Ban Đêm

5 Loại Bỉm Ban Đêm Thấm Hút Tốt Nhất Cho Bé Ngủ Ngon

Hướng Dẫn Tải và Cài Đặt Vectorworks Chi Tiết Nhất 2025

Hướng Dẫn Tải và Cài Đặt Vectorworks Chi Tiết Nhất 2025

Dạy Trẻ Lì Lợm: 7 Nguyên Tắc Vàng Cha Mẹ Cần Nắm Vững

Dạy Trẻ Lì Lợm: 7 Nguyên Tắc Vàng Cha Mẹ Cần Nắm Vững

Đáp Án Brain Out Từ Câu 1 Đến Câu 225 Mới Nhất

Đáp Án Brain Out Từ Câu 1 Đến Câu 225 Mới Nhất

Tải Game Disney’s Hercules (1997) – Chơi Ngay Không Cần Cài Đặt

Tải Game Disney’s Hercules (1997) – Chơi Ngay Không Cần Cài Đặt

Giới Thiệu

Thủ Thuật

➤ Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn!

Chuyên Mục

➤ TOP Thủ Thuật

➤ Chia Sẻ Kiến Thức

➤ Kênh Công Nghệ

➤ SEO

➤ Games

Liên Kết

➤

➤

➤

➤

➤

Liên Hệ

➤ TP. Hải Phòng, Việt Nam

➤ 0931. 910. JQK

➤ Email: [email protected]

Website này cũng cần quảng cáo, không có tiền thì viết bài làm sao  ” Đen Vâu – MTP ”

DMCA.com Protection Status

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam

No Result
View All Result
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam