Hàm chuỗi và chuỗi con VBA

VBA có nhiều hàm chuỗi sẽ cho phép bạn thao tác và làm việc với văn bản và chuỗi trong mã của bạn. Trong hướng dẫn này, chúng tôi sẽ đề cập đến các hàm cho phép bạn trích xuất chuỗi con từ chuỗi, xóa khoảng trắng khỏi chuỗi, chuyển đổi trường hợp của văn bản hoặc chuỗi, so sánh chuỗi và các hàm chuỗi hữu ích khác.

Giải nén một chuỗi con

Hàm chuỗi trái VBA

Hàm Left VBA cho phép bạn trích xuất một chuỗi con từ một văn bản hoặc chuỗi bắt đầu từ phía bên trái. Cú pháp của Hàm chuỗi trái VBA là:

Left (Chuỗi, Num_of_characters) trong đó:

  • Chuỗi - Văn bản gốc.
  • Num_of_characters - Một số nguyên chỉ định số ký tự cần trích xuất từ ​​văn bản gốc bắt đầu từ đầu.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm chuỗi trái để trích xuất bốn ký tự đầu tiên của chuỗi đã cho:

1234567891011 Sub usingTheLeftStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "AutomateExcel"valueTwo = Left (valueOne, 4)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm Left đã trích xuất bốn chữ cái đầu tiên của AutomateExcel, là Tự động.

Hàm chuỗi bên phải VBA

Hàm VBA Right cho phép bạn trích xuất một chuỗi con từ một văn bản hoặc chuỗi bắt đầu từ phía bên phải. Cú pháp của Hàm chuỗi bên phải VBA là:

Right (String, Num_of_characters) trong đó:

  • Chuỗi - Văn bản gốc.
  • Num_of_characters - Một số nguyên chỉ định số ký tự cần trích xuất từ ​​văn bản gốc bắt đầu từ phần cuối.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm chuỗi bên phải để trích xuất bốn ký tự cuối cùng của chuỗi:

1234567891011 Sub usingTheRightStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "AutomateExcel"valueTwo = Right (valueOne, 4)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm Right đã trích xuất bốn chữ cái cuối cùng của AutomateExcel, là xcel.

Hàm chuỗi giữa VBA

Hàm Mid của VBA cho phép bạn trích xuất một chuỗi con từ một văn bản hoặc chuỗi, bắt đầu từ bất kỳ vị trí nào trong chuỗi mà bạn chỉ định. Cú pháp của Hàm chuỗi giữa VBA là:

Giữa (Chuỗi, Vị trí bắt đầu, [Num_of_characters]) trong đó:

  • Chuỗi - Văn bản gốc.
  • Start_position - Vị trí trong văn bản gốc, nơi hàm sẽ bắt đầu trích xuất từ ​​đó.
  • Num_of_characters (Không bắt buộc) - Một số nguyên chỉ định số ký tự cần trích xuất từ ​​văn bản gốc bắt đầu từ vị trí bắt đầu. Nếu trống, Hàm MID sẽ trả về tất cả các ký tự từ Vị trí bắt đầu.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm giữa chuỗi để trích xuất bốn ký tự, bắt đầu từ vị trí hoặc ký tự thứ hai trong chuỗi:

1234567891011 Sub usingTheMidStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)Giá trị MsgBoxKết thúc Sub

Kết quả được xuất ra hộp thư:

Hàm Mid đã trích xuất bốn chữ cái của AutomateExcel bắt đầu từ ký tự / vị trí / chữ cái thứ hai là utom.

Tìm vị trí của một chuỗi con

Hàm chuỗi hướng dẫn VBA

Hàm hướng dẫn VBA trả về vị trí bắt đầu của một chuỗi con trong một chuỗi khác. Hàm này phân biệt chữ hoa chữ thường. Cú pháp của Hàm chuỗi hướng dẫn VBA là:

Hướng dẫn ([Bắt đầu], Chuỗi, Chuỗi con, [So sánh]) trong đó:

  • Bắt đầu (Không bắt buộc) - Điều này chỉ định vị trí bắt đầu cho hàm để tìm kiếm. Nếu trống, giá trị mặc định là 1 được sử dụng.
  • Chuỗi - Văn bản gốc.
  • Chuỗi con- Chuỗi con trong văn bản gốc mà bạn muốn tìm vị trí của nó.
  • Đối chiếu (Không bắt buộc)- Điều này chỉ định kiểu so sánh sẽ thực hiện. Nếu trống, so sánh nhị phân được sử dụng.

-vbBinaryCompare - So sánh nhị phân (Chữ hoa và chữ thường được coi là khác nhau)
-vbTextCompare - So sánh văn bản (Chữ hoa và chữ thường được coi là giống nhau)
-vbDatabaseCompare - So sánh cơ sở dữ liệu (Tùy chọn này chỉ được sử dụng trong Microsoft Access và là so sánh dựa trên cơ sở dữ liệu)

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm Chuỗi hướng dẫn để xác định lần xuất hiện đầu tiên của chuỗi con “Th” trong chuỗi chính:

123456789101112 Sub usingTheInstrStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiDim posonofSubstring As IntegervalueOne = "Đây là Văn bản"PosonofSubstring = InStr (1, valueOne, "Th")Debug.Print PosonofSubstringKết thúc Sub

Kết quả (xuất ra Cửa sổ ngay lập tức) là:

Hàm hướng dẫn đã trả về vị trí xuất hiện đầu tiên của chuỗi con “Th” là 1. Lưu ý rằng hàm này bao gồm các khoảng trắng trong số đếm.

Hàm chuỗi hướng dẫn VBA

Hàm VBA GuidRev trả về vị trí bắt đầu của một chuỗi con trong một chuỗi khác nhưng nó bắt đầu đếm vị trí, từ cuối chuỗi. Hàm này phân biệt chữ hoa chữ thường. Cú pháp của Hàm chuỗi hướng dẫn VBA là:

GuideRev (Chuỗi, Chuỗi con, [Bắt đầu], [So sánh]) trong đó:

  • Chuỗi - Văn bản gốc.
  • Chuỗi con- Chuỗi con trong văn bản gốc mà bạn muốn tìm vị trí của nó.
  • Bắt đầu (Không bắt buộc) - Điều này chỉ định vị trí để bắt đầu tìm kiếm. Nếu để trống, hàm bắt đầu tìm kiếm từ ký tự cuối cùng.
  • Đối chiếu (Không bắt buộc)- Điều này chỉ định kiểu so sánh để thực hiện. Nếu trống, so sánh nhị phân được sử dụng.

-vbBinaryCompare - So sánh nhị phân (Chữ hoa và chữ thường được coi là khác nhau)
-vbTextCompare - So sánh văn bản (Chữ hoa và chữ thường được coi là giống nhau)
-vbDatabaseCompare - So sánh cơ sở dữ liệu (Tùy chọn này chỉ được sử dụng trong Microsoft Access và là so sánh dựa trên cơ sở dữ liệu)

Đoạn mã sau đây cho bạn biết cách sử dụng Hàm chuỗi hướng dẫn để xác định lần xuất hiện đầu tiên của chuỗi con “Th” trong chuỗi chính, bắt đầu từ cuối chuỗi:

1234567891011 Sub usingTheInstrRevStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiDim posonofSubstring As IntegervalueOne = "Đây là Văn bản"PosonofSubstring = InStrRev (valueOne, "Th")Debug.Print PosonofSubstringKết thúc Sub

Kết quả được xuất ra Cửa sổ ngay lập tức:

Hàm GuideRev đã trả về vị trí xuất hiện đầu tiên của chuỗi con “Th”, nhưng bắt đầu đếm từ cuối là 9. Lưu ý rằng hàm này bao gồm các khoảng trắng trong số đếm.

Xóa khoảng trắng khỏi chuỗi

Hàm chuỗi LTrim của VBA

Hàm VBA LTrim loại bỏ tất cả các khoảng trắng ở đầu một văn bản hoặc chuỗi. Cú pháp của Hàm chuỗi LTrim VBA là:

LTrim (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm VBA LTrim để loại bỏ các khoảng trắng ở đầu trong chuỗi đã cho:

123456789101112 Sub usingTheLTrimStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "Đây là địa chỉ trang web https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)Giá trị MsgBoxOneGiá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm LTrim đã loại bỏ khoảng trống ở đầu cho valuetwo, được hiển thị trong Hộp thông báo thứ hai.

Hàm chuỗi VBA RTrim

Hàm VBA RTrim loại bỏ tất cả các khoảng trắng ở cuối một văn bản hoặc chuỗi. Cú pháp của Hàm chuỗi VBA RTrim là:

RTrim (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm VBA RTrim để loại bỏ các khoảng trống ở cuối trong chuỗi đã cho:

123456789101112 Sub Sử dụngTheRTrimStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "Đây là địa chỉ trang web https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)Giá trị MsgBoxOneGiá trị MsgBoxKết thúc Sub

Kết quả được cung cấp là:

Hàm RTrim đã loại bỏ các khoảng trống ở cuối cho valuetwo, được hiển thị trong Hộp thông báo thứ hai.

Hàm cắt chuỗi VBA

Hàm Trim VBA loại bỏ tất cả các khoảng trống ở đầu và cuối khỏi một văn bản hoặc chuỗi. Cú pháp của Hàm cắt chuỗi VBA là:

Cắt (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm Trim VBA để loại bỏ các khoảng trống ở đầu và cuối trong chuỗi đã cho:

123456789101112 Sub usingTheTrimStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "Đây là địa chỉ trang web https://easyexcel.net/excel/"valueTwo = Trim (valueOne)Giá trị MsgBoxOneGiá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm Trim đã loại bỏ các khoảng trống ở đầu và cuối cho valuetwo, được hiển thị trong Hộp Thông báo thứ hai.

Chức năng trường hợp VBA

Hàm chuỗi LCase của VBA

Hàm VBA LCase chuyển đổi các chữ cái trong văn bản hoặc chuỗi thành chữ thường. Cú pháp của Hàm chuỗi LCase VBA là:

LCase (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm chuỗi LCase để chuyển đổi tất cả các chữ cái trong chuỗi đã cho thành chữ thường:

1234567891011 Sub usingTheLCaseStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "ĐÂY LÀ SẢN PHẨM"valueTwo = LCase (valueOne)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm LCase đã chuyển đổi tất cả các chữ cái trong chuỗi thành chữ thường.

Hàm chuỗi UCase của VBA

Hàm VBA UCase chuyển đổi các chữ cái trong văn bản hoặc chuỗi thành chữ hoa. Cú pháp của Hàm chuỗi VBA UCase là:

UCase (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm chuỗi UCase để chuyển đổi tất cả các chữ cái trong chuỗi đã cho thành chữ hoa:

1234567891011 Sub usingTheUCaseStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "đây là sản phẩm"valueTwo = UCase (valueOne)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm UCase đã chuyển đổi tất cả các chữ cái trong chuỗi thành chữ hoa.

Hàm VBA StrConv

Hàm VBA StrConv có thể chuyển đổi các chữ cái trong văn bản hoặc chuỗi thành chữ hoa, chữ thường, chữ thường hoặc unicode tùy thuộc vào loại chuyển đổi bạn chỉ định. Cú pháp của Hàm chuỗi VBA StrConv là:

StrConv (Chuỗi, Chuyển đổi, [LCID]) trong đó:

  • Chuỗi - Văn bản gốc.
  • Chuyển đổi - Loại chuyển đổi bạn muốn.
  • [LCID] (Không bắt buộc) -Một tham số tùy chọn chỉ định LocaleID. Nếu trống, hệ thống LocaleID được sử dụng.

Đoạn mã sau đây cho bạn biết cách sử dụng Hàm chuỗi StrConv để chuyển đổi chuỗi thành trường hợp thích hợp:

1234567891011 Sub usingTheStrConvStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "đây là sản phẩm"valueTwo = StrConv (valueOne, vbProperCase)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Bạn chỉ định loại chuyển đổi bạn muốn thực hiện bằng cách sử dụng thông số chuyển đổi:

  • vbLowerCase chuyển đổi tất cả các chữ cái trong văn bản thành chữ thường.
  • vbUpperCase chuyển đổi tất cả các chữ cái trong văn bản thành chữ hoa.
  • vbProperCase chuyển đổi chữ cái đầu tiên của mỗi từ trong văn bản thành chữ hoa, trong khi tất cả các chữ cái khác được giữ ở dạng chữ thường.
  • vbUnicode chuyển đổi một chuỗi thành unicode.
  • vbFromUnicode chuyển đổi một chuỗi từ unicode sang trang mã mặc định của hệ thống.

So sánh các chuỗi

Hàm VBA StrComp

Hàm StrComp String của VBA cho phép bạn so sánh hai chuỗi. Hàm trả về:

  • 0 nếu hai chuỗi khớp nhau
  • -1 nếu string1 nhỏ hơn string2
  • 1 nếu string1 lớn hơn string2
  • Giá trị null nếu một trong hai chuỗi là Null

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm StrComp để so sánh hai chuỗi:

123456789101112 Sub Sử dụngTheStrCompStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗiDim resultofComparison As IntegervalueOne = "AutomateExcel"valueTwo = "AutomateExcel"resultofComparison = StrComp (valueOne, valueTwo)Debug.Print resultofComparisonKết thúc Sub

Kết quả là:

Hàm StrComp đã tìm thấy kết quả khớp chính xác giữa hai chuỗi và trả về 0.

Nhà điều hành VBA Like

Toán tử Giống như VBA cho phép bạn so sánh một văn bản hoặc chuỗi với một mẫu và xem liệu có khớp hay không. Bạn thường sử dụng Toán tử Like kết hợp với các ký tự đại diện. Đoạn mã sau cho bạn biết cách sử dụng Toán tử Thích:

123456789101112 Sub bằngTheLikeOperatorInVBA ()Làm mờ giá trị Một dưới dạng chuỗivalueOne = "Hãy xem đầu ra"If valueOne Like "* view *" Sau đóMsgBox "Có một kết quả phù hợp, chuỗi này chứa chế độ xem từ"KhácMsgBox "Không tìm thấy kết quả phù hợp"Kết thúc nếuKết thúc Sub

Kết quả là:

Các ký tự đại diện bạn có thể sử dụng với Toán tử Like để tìm các kết quả phù hợp với mẫu bao gồm:

  • ? phù hợp với một ký tự duy nhất
  • # khớp với một chữ số
  • * phù hợp với không hoặc nhiều ký tự

Đoạn mã sau đây cho bạn biết cách bạn sẽ sử dụng Toán tử Like và? ký tự đại diện để khớp với một mẫu trong mã của bạn:

123456789101112 Sub bằngTheLikeOperatorWithAWildcardInVBA ()Làm mờ giá trị Một dưới dạng chuỗivalueOne = "Cái"Nếu valueOne Like "?? e" thìMsgBox "Có một kết quả phù hợp, một mẫu phù hợp đã được tìm thấy"KhácMsgBox "Không tìm thấy kết quả phù hợp"Kết thúc nếuKết thúc Sub

Kết quả được giao là:

Các hàm chuỗi VBA hữu ích khác

Hàm thay thế chuỗi VBA

Hàm Thay thế VBA thay thế một tập hợp các ký tự trong một chuỗi bằng một tập hợp các ký tự khác. Cú pháp của Hàm thay thế chuỗi VBA là:

Thay thế (Chuỗi, Tìm, Thay thế, [Bắt đầu], [Đếm], [So sánh]) trong đó:

  • Chuỗi - Văn bản gốc.
  • Tìm - Chuỗi con cần tìm trong văn bản gốc.
  • Thay thế - Chuỗi con để thay thế Tìm chuỗi con bằng.
  • Bắt đầu (Không bắt buộc)- Vị trí bắt đầu tìm kiếm từ trong văn bản gốc. Nếu để trống, giá trị của 1 được sử dụng và hàm bắt đầu ở vị trí ký tự đầu tiên.
  • Đếm (Không bắt buộc)- Số lần xuất hiện của chuỗi con Tìm trong văn bản gốc để thay thế. Nếu để trống, tất cả các lần xuất hiện của chuỗi con Tìm được thay thế.
  • Đối chiếu (Không bắt buộc)- Điều này chỉ định kiểu so sánh để thực hiện. Nếu trống, so sánh nhị phân được sử dụng.

    -vbBinaryCompare - So sánh nhị phân
    -vbTextCompare - So sánh văn bản
    -vbDatabaseCompare - So sánh cơ sở dữ liệu (Tùy chọn này chỉ được sử dụng trong Microsoft Access và là một so sánh dựa trên cơ sở dữ liệu.)

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm Chuỗi Thay thế:

1234567891011 Sub usingTheReplaceStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "ProductABC"valueTwo = Replace (valueOne, "ABC", "XYZ")Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm Replace đã tìm thấy chuỗi con ABC trong ProductABC và thay thế nó bằng chuỗi con XYZ.

Hàm VBA StrReverse

Hàm VBA StrReverse đảo ngược các ký tự trong một văn bản hoặc chuỗi đã cho. Cú pháp của VBA StrReverse String Function là:

StrReverse (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng Hàm VBA StrReverse để đảo ngược các ký tự trong chuỗi Sản phẩm:

1234567891011 Sub usingTheStrReverseStringFunction ()Làm mờ giá trị Một dưới dạng chuỗiLàm mờ giá trị Hai dưới dạng chuỗivalueOne = "Sản phẩm"valueTwo = StrReverse (valueOne)Giá trị MsgBoxKết thúc Sub

Kết quả là:

Hàm VBA Len String

Hàm Len VBA trả về số ký tự trong một chuỗi văn bản. Cú pháp của hàm Len String trong VBA là:

Len (Chuỗi) trong đó:

  • Chuỗi - Văn bản gốc.

Đoạn mã sau chỉ cho bạn cách sử dụng hàm Len String để xác định độ dài của chuỗi AutomateExcel:

1234567891011 Sub usingTheLenFunction ()Làm mờ giá trị Một dưới dạng chuỗiDim stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Debug.Print stringLengthKết thúc Sub

Kết quả là:

Hàm Len đã đếm tất cả các ký tự trong văn bản AutomateExcel, là 13 chữ cái.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave