Hỏi về cách vận hành hàm InStrRev

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

acmen87

Thành viên chính thức
Tham gia
7/5/09
Bài viết
70
Được thích
6
Em đọc thì hàm tìm kiếm chuỗi, từ vị trí của start tính từ bên phải. Nhưng trong ví dụ của anh hướng em không hiểu cách đếm như nào. Các anh chỉ em với ạ
String1 = "XXpXXpXXPXXP": SearchChar = "Xp"
mypos = InStrRev(String1, SearchChar, , 1)
như này thì tại sao cho ra kết quả là 11 ạ?
Thêm nữa cho em hỏi sự khác nhau giữa so sánh chuỗi và nhị phân có phải là so sánh nhị phân có phân biệt chữ hoa, chữ thường. Còn so sánh chuỗi thì không đúng không ạ
 
Rev hình như viết tắt của reverse.
 
Upvote 0
Em đọc thì hàm tìm kiếm chuỗi, từ vị trí của start tính từ bên phải. Nhưng trong ví dụ của anh hướng em không hiểu cách đếm như nào. Các anh chỉ em với ạ
String1 = "XXpXXpXXPXXP": SearchChar = "Xp"
mypos = InStrRev(String1, SearchChar, , 1)
như này thì tại sao cho ra kết quả là 11 ạ?
Thêm nữa cho em hỏi sự khác nhau giữa so sánh chuỗi và nhị phân có phải là so sánh nhị phân có phân biệt chữ hoa, chữ thường. Còn so sánh chuỗi thì không đúng không ạ

Học hành gì ở đâu mà lủng củng thế thì nắm sao được.

Tài liệu siêu xịn đây này.

1695693490479.png

 
Upvote 0
Học hành gì ở đâu mà lủng củng thế thì nắm sao được.

Tài liệu siêu xịn đây này.

View attachment 295153

Cảm ơn anh ạ. E đã đọc và thử theo ví dụ của anh ạ. E cảm ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Tác giả bài #3: lúc này bạn "lốp" được cái thói "e ấp" rồi hả. :p:p:p
là sao bạn? mình không hiểu
Bài đã được tự động gộp:

Học hành gì ở đâu mà lủng củng thế thì nắm sao được.

Tài liệu siêu xịn đây này.

View attachment 295153

Anh ơi, anh cho em hỏi tại sao 2 công thức này lại cho ra kết quả là 0 ạ
Sub vidu_ham_InStrRev()
Dim var As Variant
var = "Microsoft VBScript"
Cells(4, 1) = ("Line 4 : " & InStrRev(var, "t", 5))
Cells(7, 1) = ("Line 7 : " & InStrRev(var, "VB", 1))
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
(1) Số thứ tự ký tự được đánh số từ trái sang phải, bắt đầu từ 1

(2) InStrRev dò tìm từ phải sang trái

(3) Start là vị trí bắt đầu tìm (tìm từ phải sang trái), vị trí này tuân theo (1)
Nếu vậy với InStrRev(var, "t", 5)) sẽ là tìm từ chữ "t" từ vị trí chữ o em in đậm này Microsoft VBScript và kết quả cho ra là chữ t cuối cùng.
Cells(7, 1) = ("Line 7 : " & InStrRev(var, "VB", 1)) sẽ là tìm chữ "VB" từ vị trí Microsoft
VBScript kết quả là chữ VB này đúng không ạ
 
Upvote 0
@acmen87

InStr là hàm tìm vị trí khớp chuỗi thuận từ đầu đến cuối chuỗi.
InStrRev tìm ngược từ cuối đến dầu chuỗi

StringCheck là tham số chuỗi cần kiểm.
StringMath là tham số chuỗi sẽ tìm kiếm khớp trong StringCheck.
Start là tham số vị trí bắt đầu tìm. Trong InStrRev thì Start sẽ tính từ cuối.
Compare là tham số phân biệt hoa thường.

Cả hai hàm đều trả về kết quả đúng với thứ tự ký tự trong chuỗi.


InStrRev là hàm chỉ có từ phiên bản VBA7.0
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom