???InStrRev function

Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Nhờ các bạn chỉ cho hàm này ở đâu vậy.
Xin cám ơn!
 
Đây là hàm của VB, VBA
+Cú pháp:
InstrRev(stringcheck, stringmatch[, start[, compare]])
Tìm chuỗi stringmatch trong chuỗi stringcheck
+Tham số:
-stringmatch: Chuỗi tìm kiếm
-stringcheck: Giá trị cần tìm
-start: Tìm đến ký tự thứ start trong chuỗi stringcheck
-compare: Chỉ rõ kiểu dữ liệu để so sánh trong quá trình tìm kiếm
compare có thể nhận các giá trị sau:
vbUseCompareOption = –1: Chế độ tùy chọn, VB sẽ tự động lựa lọai dữ liệu thích hợp
vbBinaryCompare = 0: So sánh nhị phân
vbTextCompare = 1: So sánh chuỗi
vbDatabaseCompare = 2: So sánh dữ liệu
 
Upvote 0
Có lẽ anh Sơn giải thích đã quá đầy đủ và rõ ràng rồi
Mình xin lonton giải thích thêm một tý cho nó vui cửa vui nhà

Hàm InstriRev mới được bổ sung trong phiên bản VB6 của MS, nó có chức năng tương tự như hàm InStr nhưng tiến hàn dò tìm ngược (Rev mà) và thứ tự các đối số của hàm cũng theo đó mà ngược lại (Bạn nhớ lại hàm Instr và tự so sánh nhé)

Chúc thành công!
 
Upvote 0
Vậy hàm InStrRev có thể dùng trong Excel như thế nào:
Tôi thấy trong hàm sau có sử dụng (theo GPE) InStrRev
Function hodem(n) As String
' NOTE: The InStrRev function is not available in Excel 97
Dim FirstName As String, LastName As String, cfname As String
n = Application.WorksheetFunction.Trim(n)
LastName = Right(n, Len(n) - InStrRev(n, " "))
cfname = Left(n, Len(Trim(n)) - Len(LastName))
hodem = cfname
End Function
Sao tôi dùng InStrRev(a1," ") a1 là "nnnh dafdf afadf"
mà sao nó không hiểu. Nhờ giải thích thêm làm thế nào để đưa hàm VB vào Ex
Xin cám ơn!
 
Upvote 0
' NOTE: The InStrRev function is not available in Excel 97
tác giả đã chú thích là hàm này không chạy trên excel 97 vì VB6 được MS đưa ra thị trường vào năm 1998 thay cho phiên bản VB5.0 trước đó. VB6 có nhiều cải tiến so với các phiên bản trước đó:
- Thêm một số hàm hay được ứng dụng: Replace, InstrRev...
- Hỗ trợ viết mã và Debug tốt hơn
- Thuận tiên trong việc đóng gói phần mềm
.....
Hàm InStrRev thực hiện việc dò tìm ngược từ cuối chuỗi. Nó rất tiện dụng cho ta trong việc tìm đuôi của một tập tin, trích tên từ chuỗi họ tên...

Hàm của bạn ở trên thực hiện việc dò tìm vị trí của ký tự " " cuối cùng trong chuôi(đứng trước tên) trong chuỗi n(họ tên)
và dùng hàm mid trể trích ra tên của người đó.

còn hàm của bạn viết rất đúng đấy chứ kết quả là 11, khi dùng mấy hàm dò tìm ký tự " " trong một chuỗi khác bạn nên loại bỏ khoảng trắng 2 bên trước khi thực hiện trim$(string)

Chúc thành công!
 
Upvote 0
A1="nnnh dafdf afadf"
B1=InStrRev(a1," ") =#NAME?
Có cần phải thêm cái gì, nhờ các bạn chỉ hộ
 
Upvote 0
Mình đã giải thích rồi mà, hàm này được dùng trong VB và VBA thôi.
Nó không phải là hàm của Excel nên bạn không thể sử dụng như trên được.
 
Upvote 0
Cám ơn nvson và ruadangyeu nhiều!
Nhưng sao thấy thế nào, có lẻ chưa hiểu sâu.
Vậy phải khai báo thêm 1 func để chạy 1 func
Function DemBlank(n) As Integer
DemBlank = InStrRev(n, " ")
End Function

Tiện đây các bạn giải thích hộ hàm VB tính DL sang AL
Sub LNI()
LunarInfo = Array( _
&H3C4BD8, &H624AE0,....)

&H3C4BD8 là số gì vậy. và hàm sau là gì.

Function LeapMonth(y)
LNI
If y >= 1900 Then LeapMonth = LunarInfo(y - 1900) And &HF Else LeapMonth = 0
End Function

Xin cám ơn

 
Upvote 0
&H3C4BD8 là số gì vậy. và hàm sau là gì.

Có lẽ đây là một hằng số, thường thì mình hay thấy hằng số như thế này trong lập trình API.
Kiến thức của em hạn hẹp, cao thủ nào biết thêm thì chỉ dùm
 
Upvote 0
Theo mình thì đây cũng chỉ là một số thôi nhưng viết ở hệ Hex (hệ 16).
Các số ở hệ Hex dùng các ký tự từ 0 ~ 9, A, B, C, D, E và F.
Phía trước có &H để chỉ đây là số viết ở hệ 16.
TRong kỹ thuật thường dùng các hệ Hex (hệ 16), Dec (hệ thập phân - hệ 10), Oct (hệ 8) và Bin (hệ nhị phân) để biểu diễn các số.
Trong Excel bạn dùng các hàm:
Hex2Dec, Hex2Oct, Hex2Bin
Dec2Hex, Dec2Oct, Dec2Bin
Oct2Hex, Oct2Dec, Oct2Bin
Bin2Hex, Bin2Dec, Bin2Oct
để chuyển đổi qua lại giữa các hệ
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom