Hướng dẫn này sẽ trình bày cách sử dụng hàm InStrRev VBA để tìm văn bản từ bên phải…
Hàm InStrRev
Hàm VBA InStrRev tìm kiếm vị trí của một chuỗi con bên trong một chuỗi. Nó trả về vị trí đếm từ trái sang phải nhưng nó thực hiện tìm kiếm từ cuối chuỗi đến đầu.
VBA InStrRev Tìm chuỗi con
Hàm VBA InStrRev có thể được sử dụng để tìm vị trí của một chuỗi con bên trong một chuỗi.
12345678 | Sub InStrRevExample_1 ()MsgBox InStrRev ("ABCABC", "C") 'Kết quả là: 6MsgBox InStrRev ("ABCABC", "BC") 'Kết quả là: 5MsgBox InStrRev ("La La Land", "L") 'Kết quả là: 7MsgBox InStrRev ("La La Land", "La") 'Kết quả là: 7MsgBox InStrRev ("La La Land", "La") 'Kết quả là: 4MsgBox InStrRev ("La La Land", "M") 'Kết quả là: 0Kết thúc Sub |
VBA InStrRev Vị trí bắt đầu
Hàm VBA InStrRev có thể bắt đầu tìm kiếm một chuỗi con từ một vị trí được chỉ định được tính từ trái sang phải.
12345678 | Sub InStrRevExample_2 ()MsgBox InStrRev ("La La Land", "L") 'Kết quả là: 7MsgBox InStrRev ("La La Land", "L", 8) 'Kết quả là: 7MsgBox InStrRev ("La La Land", "L", 7) 'Kết quả là: 7MsgBox InStrRev ("La La Land", "L", 6) 'Kết quả là: 4MsgBox InStrRev ("La La Land", "L", 4) 'Kết quả là: 4MsgBox InStrRev ("La La Land", "L", 3) 'Kết quả là: 1Kết thúc Sub |
Lập trình VBA | Code Generator làm việc cho bạn!
Độ nhạy chữ hoa chữ thường VBA InStrRev
Hàm VBA InStrRev theo mặc định là phân biệt chữ hoa chữ thường. Bạn có thể thay đổi hành vi đó thành phân biệt chữ hoa chữ thường bằng cách sử dụng một tham số tùy chọn. Trong trường hợp đó, bạn cũng phải xác định vị trí bắt đầu của tìm kiếm.
123456789 | Sub InStrRevExample_3 ()'Hướng dẫn theo mặc định có phân biệt chữ hoa chữ thườngMsgBox InStrRev ("La La Land", "L") 'Kết quả là: 7MsgBox InStrRev ("La La Land", "l") 'Kết quả là: 0'CoachRev có thể thực hiện các tìm kiếm không phân biệt chữ hoa chữ thườngMsgBox InStrRev ("La La Land", "L", -1, vbTextCompare) 'Kết quả là: 7MsgBox InStrRev ("La La Land", "l", -1, vbTextCompare) 'Kết quả là: 7Kết thúc Sub |
Dấu cách cuối cùng của VBA InStrRev
Hàm VBA InStrRev có thể tìm vị trí của khoảng trắng cuối cùng trong một chuỗi.
123456789 | Sub InStrRevExample_4 ()MsgBox InStrRev ("La La Land", "")'Kết quả là: 6MsgBox InStrRev ("Leonardo da Vinci", "")'Kết quả là: 12MsgBox InStrRev ("Cầu mong Thần lực ở bên bạn", "")'Kết quả là: 22Kết thúc Sub |
VBA InStrRev Thứ hai đến Khoảng trống cuối cùng
Hàm VBA InStrRev có thể tìm vị trí của khoảng trắng thứ hai đến cuối cùng trong một chuỗi. Chúng ta có thể sử dụng hàm VBA InStrRev để tìm khoảng trắng cuối cùng trong một chuỗi và sau đó chúng ta có thể sử dụng lại InStrRev với điểm bắt đầu mới để tìm vị trí của khoảng trắng thứ hai đến cuối cùng
12345678910111213 | Sub InStrRevExample_5 ()Làm mờ LastPos dưới dạng số nguyênLastPos = InStrRev ("Cầu mong Thần lực ở bên bạn", "")MsgBox LastPos 'Kết quả là: 22Dim SecondLastPos dưới dạng số nguyênSecondLastPos = InStrRev ("Cầu mong Thần lực ở bên bạn", "", LastPos - 1)MsgBox SecondLastPos 'Kết quả là: 17'InStrRev bắt đầu tìm kiếm không gian ngay trước khoảng trắng cuối cùng'Nó sẽ tìm khoảng trống thứ hai đến cuối cùng vì nó tìm kiếm từ phải sang tráiKết thúc Sub |
Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!
Tên tệp trả về VBA InStrRev
Hàm VBA InStrRev có thể được sử dụng để dễ dàng trả lại tên tệp từ một chuỗi có chứa đường dẫn và tên tệp. Chúng ta sẽ sử dụng hàm InStrRev với các hàm VBA Len và VBA Right.
Hàm Len VBA trả về độ dài của một chuỗi:
1 | MsgBox Len ("XBCX") 'Kết quả là: 4 |
Hàm VBA Right trả về n ký tự từ cuối một chuỗi:
1 | MsgBox Right ("ABCDE", 2) 'Kết quả là: DE |
Chúng ta có thể sử dụng hàm InStrRev để tìm lần xuất hiện cuối cùng của “\” trong tên đường dẫn và sử dụng hàm Len để tính độ dài của tên tệp. Right sau đó có thể giải nén tên tệp.
12345678910111213141516171819202122232425262728 | Sub InStrRevExample_4 ()Dim PathEx As StringPathEx = "C: \ MyFiles \ Other \ UsefulFile.pdf"Dim FilenameEx As StringFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))MsgBox FilenameEx 'Kết quả là: UsefulFile.pdf'Hãy chia nhỏ mã nàyMsgBox Len (PathEx)'Đây là độ dài của tên đường dẫn (31)MsgBox InStrRev (PathEx, "\")'Đây là vị trí của \ cuối cùng trong chuỗiMsgBox Len (PathEx) - InStrRev (PathEx, "\")'Đây là độ dài của tên tệp (14)'Sự khác biệt giữa độ dài đầy đủ và vị trí của chuỗi \ trong chuỗi cuối cùng'(31-27 = 14)'Bây giờ chúng tôi biết độ dài của tên tệp và tất nhiên nó ở cuối'Chức năng phù hợp là lý tưởng cho tình huống nàyFilenameEx = Right (PathEx, Len (PathEx) - InStrRev (PathEx, "\"))Kết thúc Sub |