RaoVat24h
Excel Office

Bài 7. Hàm trong VBA

Advertisement

Bài 7. Hàm trong VBA

Các hàm trong VBA:

Hàm tìm kiếm, lựa chọn theo tham chiếu
Hàm xử lý về chuỗi, văn bản
Hàm xử lý về ngày/ thời gian
Hàm về Toán học
Hàm logic, cấu trúc lệnh (SELECT CASE, IF-THEN, FOR-NEXT…)*
Hàm xử lý thông tin
Hàm chuyển đổi kiểu dữ liệu
Hàm xử lý về tập tin và thư mục

CHOOSE
CHOOSE(position, value1, [value2, … value_n])
Trả về 1 giá trị từ một danh sách các giá trị dựa trên vị trí chỉ định.
ASC
Asc(String As String) ‘As Long’
Trả về một số nguyên (0-255) đại diện cho mã ký tự tương ứng với một ký tự.
ASCW
AscW(String As String) ‘As Long’
Trả về một số nguyên (0-65535) đại diện cho mã ký tự tương ứng với một ký tự.
CHR
Chr(CharCode as Long)
Trả về ký tự tương ứng với mã ký tự (0-255) chỉ định đưa vào.

CHRW
ChrW(CharCode as Long)
Trả về ký tự tương ứng với mã ký tự (0-65535) chỉ định đưa vào.
CONCATENATE with “&”
string1 & string2 [& string3 & string_n] ‘As String
Nối các chuỗi lại với nhau thành một chuỗi mới.
FORMAT STRINGS
Format (Expression, [Format ]) ‘As String
Định dạng giá trị đưa vào theo định dạng chỉ định.
INSTR
InStr([Start],[String1],[String2],[Compare As VbCompareMethod = vbBinaryCompare]) ‘As Long’
Trả về vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi đang xét.
INSTRREV
InStrRev(StringCheck As String,StringMatch As String,[Start As Long = -1],[Compare As VbCompareMethod = vbBinaryCompare]) ‘As Long’
Trả về vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi đang xét tính từ cuối chuỗi.
LCASE
LCase(String) ‘As String
Chuyển chuỗi từ chữ in hoa thành chữ thường.
UCASE
UCase(String) ‘As String
Chuyển chuỗi từ chữ thường thành chữ in hoa.
LEFT
Left(String,Length As Long) ‘As String
Trích xuất một chuỗi con từ một chuỗi, bắt đầu từ ký tự đầu tiên bên trái.
LEN
Len(Expression) As Long ‘As Long
Trả về số ký tự của chuỗi.
LTRIM
Ltrim(String) ‘As String
Loại bỏ khoảng trắng ở đầu (bên trái) chuỗi đưa vào.< /span>
MID
Mid(String,Start As Long,[Length]) ‘As String
Trích xuất một chuỗi con từ một chuỗi (bắt đầu ở bất kỳ vị trí nào).
REPLACE
Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long=-1],[Compare As VbComapareMethod = VbBinaryCompare]) ‘As String
Thay thế một chuỗi ký tự trong một chuỗi bởi một tập hợp các ký tự khác.
RIGHT
Right(String,Length As Long) ‘As String
Trích một chuỗi con từ một chuỗi bắt đầu từ ký tự đầu tiên bên phải.
RTRIM
Rtrim(String) ‘As String
Loại bỏ khoảng trắng ở cuối (bên phải) chuỗi đưa vào.
SPACE
SPACE(Number As Long) ‘As String
Trả về chuỗi là các ký tự khoảng trắng, với số lượng ký tự chỉ định đưa vào.
SPLIT
Split(Expression As String, [Delimiter], [Limit As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) ‘Array1D() As String
Trả về một mảng 1 chiều, gồm các phần tử là các chuỗi con được tách ra từ chuỗi đưa vào bởi dấu phân cách, chỉ mục cận dưới của mảng luôn bằng 0 cho dù Option Base 1.
JOIN
Join(SourceArray,[Delimiter]) ‘As String’
Trả về một chuỗi được ghép từ các phần từ của mảng một chiều SourceArray bởi dấu phân cách Delimiter.
STR
STR(Numer) ‘As String
Trả về dạng chuỗi của một số.
STRCOMP
StrComp(String1, String2, [Compare As VbCompareMethod = vbBinaryCompare]) ‘As Integer
Trả về kết quả là một số nguyên đại diện cho kết quả so sánh 2 chuỗi.
STRCONV
StrConv(String,Conversion As VbStrConv,[LocaleID as Long]) ‘As String
Trả về một chuỗi được chuyển sang chữ hoa, chữ thường, in hoa ký tự đầu mỗi từ hoặc Unicode.
STRREVERSE
STRREVERSE(Expression As String) ‘As String
Trả về chuỗi mới với các ký tự có thứ tự đảo ngược.
TRIM
Trim(String) ‘As String
Loại bỏ khoảng trắng ở đầu và cuối của chuỗi.
VAL
Val(String as String) ‘As Double
Trả về các số được tìm thấy trong một chuỗi.
DATE
Date ‘As Date
Trả về ngày hiện tại của hệ thống (máy tính).
DATEADD
DateAdd(Interval As String, Number As Double, Date) ‘As Date
Trả lại một ngày sau đó đã thêm một khoảng thời gian/ ngày nhất định.
DATEDIFF
DateDiff(Interval As String, Date1, Date2, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) ‘As Long
Trả về sự khác biệt giữa hai giá trị ngày, dựa trên khoảng thời gian được chỉ định.
DATEPART
DatePart(Interval As String, Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = VbFirstJan1]) ‘As Integer
Trả về một phần xác định của một ngày nhất định.
DATESERIAL
DateSerial(Year As Integer, Month As Integer, Day As Integer) ‘As Date
Trả về một ngày trong năm.
DATEVALUE
DateValue(Date As String) ‘As Date

Trả về giá trị ngày của chuỗi định dạng kiểu ngày.
DAY
Day(Date) ‘As Integer
Trả về một ngày trong tháng (một số từ 1-31) từ giá trị ngày tháng đưa vào.
FORMAT DATES
Format(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vb Sunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) ‘As String
Expression: Giá trị ngày cần định dạng.
HOUR
Hour(Time) As Integer
Trả về số giờ (một số từ 0-23) của thời gian đưa vào.
MINUTE
Minute(Time) ‘As Integer
Trả về số phút (một số từ 0-59) của thời gian đưa vào.
MONTH
Month(Date) ‘As Integer

Trả về tháng (một số từ 1-12) của giá trị ngày đưa vào.
MONTHNAME
MONTHNAME(Month As long, [Abbreviate As Boolean = False]) ‘As String
Trả về một chuỗi đại diện cho tháng được cho một số từ 1 đến 12.
NOW
Now ‘As Date
Trả lại ngày, giờ hiện tại của hệ thống.
TIMESERIAL
TimeSerial(Hour As Integer, Minute As Integer, Second As Integer) ‘As Date
Trả về thời gian ứng với giá trị giờ, phút và giây đưa vào.
TIMEVALUE
TimeValue(Time As String) ‘As Date
Trả về trị số thời gian của một thời gian ở dạng chuỗi.
WEEKDAY
Weekday(Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday]) ‘As Integer

Trả về một số đại diện cho ngày trong tuần tương ứng với ngày xét.
WEEKDAYNAME
WeekdayName(Weekday As Long, [Abbreviate As Boolean = False], [FirstDayOfWeek As VbDayOfWeek = vbUseSytemDayOfWeek]) ‘As String
Trả về một chuỗi đại diện cho ngày trong tuần ứng với số từ 1 đến 7.
YEAR
Year(Date) ‘As Integer
Trả về trị số năm có bốn chữ số (một số từ năm 1900 đến 9999) ứng với ngày đang xét.
ABS
Abs(Number) ‘As Double
Trả về giá trị tuyệt đối của một số.
ATN
Atn(Number As Double) ‘As Double

Trả về giá trị của phép tính ATAN trong Toán, từ -Pi/2 tới Pi/2.
COS
Cos(Number As Double) ‘As Double
Trả về giá trị của phép tính Cosine của một góc trong Toán (-1 tới 1).
EXP
Exp(Number As Double) ‘As Double
Trả về giá trị lũy thừa của cơ số e (e là hằng số toán học, xấp xỉ 2.718).
FIX
Fix(Number)
Trả về phần số nguyên của một số.
FORMAT NUMBERS
Format (Expression, [Format ]) ‘As String
Định dạng một số dưới dạng chuỗi.
INT
Int(Number) ‘As Double
Trả về phần số nguyên của một số.
LOG
Log(Number As Double) ‘As Double
Trả về giá trị của phép tính Logarit tự nhiên của một số (Log cơ số e hay Ln(x)).
RANDOMIZE
Randomize([Number])
Được sử dụng để thay đổi giá trị nguồn được sử dụng bởi máy tạo số ngẫu nhiên cho hàm RND.
RND
RND
Để tạo ra một số ngẫu nhiên giữa 0-1.
ROUND
Round(Number, [NumDigitsAfterDecimail As Long]) ‘As Double
Làm tròn một số đưa vào.
SGN
Sgn(Number) ‘As Integer
Trả về dấu của một số.

SIN
Sin(Number As Double) ‘As Double
Trả về giá trị của phép tính Sine của một góc trong Toán, từ -1 tới 1.
SQR
Sqr(Number As Double) ‘As Double
Trả về kết quả của phép toán căn bậc 2 của số cần tính.
TAN
Tan(Number As Double) ‘As Double
Trả về giá trị của phép tính Tan của một góc trong Toán.
AND
Conditions_1 And conditions_2 [… And conditions_n]
Trả về kết quả True nếu tất cả các điều kiện đưa vào là True.
OR

Conditions_1 Or conditions_2 [… Or conditions_n]
Trả về TRUE nếu cos bất kỳ điều kiện nào là TRUE.
CASE
Select Case Expression
   Case condition_1
      result_1
   Case condition_2
      result_2
   …
   Case condition_n
      result_n
   Case Else
      result_else
End Select

Tương tự cấu trúc lệnh If Then Else, trả về một giá trị nếu một điều kiện trả về TRUE.
IF-THEN-ELSE
If condition_1 Then
   result_1
ElseIf condition_2 Then
  result_2
ElseIf condition_n Then
   result_n
Else
   result_else
End If
Trả về một giá trị nếu một điều kiện trả về TRUE hoặc một giá trị khác nếu nó trả về FALSE.

FOR…NEXT
FOR counter = start TO end [Step increment]
   {…statements…}
NEXT [counter]
Vòng lặp duyệt qua biến đếm.
DO WHILE…LOOP
Do While condition
   {…statements…}
Loop
Vòng lặp duyệt qua điều kiện đưa vào.
WHILE…WEND
WHILE condition
   {…statements…}
END
Vòng lặp duyệt qua điều kiện đưa vào. Giống cấu trúc lệnh DO WHILE…LOOP.
SWITCH
Switch(ParamArray VarExpr() As Variant)
Switch (expr1, value1, expr2, value2, … expr_n, value_n)
Xét một danh sách các biểu thức và trả về giá trị tương ứng cho biểu thức đầu tiên trong danh sách có kết quả TRUE.
ENVIRON
Environ(Expression) ‘As String
Trả về giá trị ứng biến của môi trường hệ điều hành cần xác định.
ISDATE
IsDate(Expression) ‘As Boolean
Trả về TRUE nếu biểu thức là một giá trị ngày hợp lệ.

ISEMPTY
IsEmpty(Expression) ‘As Boolean
Kiểm tra các ô trống hoặc các biến rỗng (chưa có giá trị), nếu đúng thì trả về True, ngược lại trả về False.
ISERROR
IsError(Expression) ‘As Boolean
Trả về kết quả True nếu điều kiện cần kiểm tra là một lỗi, ngược lại trả về False.
ISNULL
IsNull(Expression) ‘As Boolean
Kiểm tra giá trị NULL.
ISNUMERIC
IsNumeric(Expression) ‘As Boolean

Kiểm tra một giá trị là dạng số hay không. Trả về True nếu là dạng số, ngược lại trả về False.
ISARRAY
IsArray(VarName) ‘As Boolean’

Kiểm tra một biến (VarName) là dạng mảng (Array) hay
không. Trả về True nếu là dạng mảng, ngược lại trả về False.
TYPENAME
TypeName(VarName) ‘As String’
Trả về kiểu dữ liệu của biến chỉ định.
CBOOL
CBool(Expression) ‘As Boolean
Chuyển giá trị về kiểu dữ liệu Boolean.
CBYTE
CByte(Expression) ‘As Byte
Chuyển giá trị về kiểu dữ liệu Byte (0-255).
CCUR
CCur(Expression) ‘As Currency
Chuyển giá trị về kiểu dữ liệu Currency.
CDATE

CDate(Expression) ‘As Date
Chuyển giá trị về kiểu dữ liệu Date.
CDBL
CDbl(Expression) ‘As Double
Chuyển giá trị về kiểu dữ liệu Double.
CDEC
CDbl(Expression) ‘As Decimal
Chuyển giá trị về kiểu dữ liệu Decimal.
CINT
CInt(Expression) ‘As Integer
Chuyển giá trị về kiểu dữ liệu Integer.
CLNG
CLng(Expression) ‘As Long
Chuyển giá trị về kiểu dữ liệu Long.
CSNG
CSng(Expression) ‘As Single
Chuyển giá trị về kiểu dữ liệu Single.
CSTR
CStr(Expression) ‘As String
Chuyển giá trị về kiểu dữ liệu String.
CVAR
CVar(Expression)
Chuyển giá trị về kiểu dữ liệu đưa vào.
CHDIR
ChDir(Path As String)
Dùng để thay đổi đường dẫn hoặc thư mục hiện tại.
CHDRIVE
Chdrive(Drive As String)

Dùng để thay đổi ổ đĩa hiện tại.
CURDIR
CurDir([Drive])
Trả về đường dẫn hiện tại.
DIR
Dir([PathName],[Attributes As VbFileArrtibute = vbNormal]) As String
Trả về tên tập tin (file) đầu tiên tương ứng với tên đường dẫn và các thuộc tính được chỉ định.
FILEDATETIME
FileDateTime(PathName as String) ‘As Date
Trả về ngày và thời gian khi tập tin được tạo hoặc sửa đổi lần cuối.
FILELEN
FileLen(PathName As String) ‘As Long
Trả về kích thước của tập tin ở đơn vị bytes.
GETATTR
GetAttr(PathName As String) ‘As VbFileAttribute

Trả về một số nguyên đại diện cho các thuộc tính của một tập tin, thư mục.
MKDIR
MkDir(Path As String)
Tạo một thư mục chỉ định.
RMDIR
RmDir(Path As String)
Xóa một thư mục chỉ định.
SETATTR
SetAttr PathName As String, Attributes As VbFileAttribute
Thiết lập thuộc tính cho tập tin

Rate this post

DienDan.Edu.Vn

DienDan.Edu.Vn Cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.
DienDan.Edu.Vn! là một website với tiêu chí chia sẻ thông tin,... Bạn có thể nhận xét, bổ sung hay yêu cầu hướng dẫn liên quan đến bài viết. Vậy nên đề nghị các bạn cũng không quảng cáo trong comment này ngoại trừ trong chính phần tên của bạn.
Cám ơn.

Đăng bình luận

(+84) (901) 369.468