Home » VBA Excel » VBA Excel Hàm trong Excel VBA

VBA Excel Hàm trong Excel VBA

viết bởi Lê Quốc Thái

Các bài viết có liên quan đến Hàm trong Excel VBA

Một số ví dụ về các công thức sử dụng hàm COUNTIF

Các công thức Excel để tính tổng Sum, Sumif

Các hàm trong Excel VBA:

Lookup/Ref Functions

Hàm tìm kiếm, lựa chọn theo tham chiếu

String/Text Functions

Hàm xử lý về chuỗi, văn bản

Date/Time Functions

Hàm xử lý về ngày/ thời gian

Math/Trig Functions

Hàm về Toán học

Logical Functions

Hàm logic, cấu trúc lệnh (SELECT CASE, IF-THEN, FOR-NEXT…)*

Information Functions

Hàm xử lý thông tin

Data Type Conv. Functions

Hàm chuyển đổi kiểu dữ liệu

File/Directory Functions

Hàm xử lý về tập tin và thư mục



Lookup/Ref Functions

Hàm tìm kiếm, lựa chọn theo tham chiếu

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.

String/Text Functions

Hàm xử lý về chuỗi, văn bản

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.

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/Time Functions

 Hàm xử lý về ngày/ thời gian

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.

Math/Trig Functions

 Hàm về Toán học

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.

Logical Functions

Hàm logic, cấu trúc lệnh trong VBA

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.

Information Functions

 Hàm xử lý thông tin

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.

Data Type Conv. Functions

Hàm chuyển đổi kiểu dữ liệu

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.

File/Directory Functions

Hàm xử lý về tập tin và thư mục

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

Bài viết liên quan

Viết ý kiến của bạn