Sử dụng các chức năng của trang tính trong Macro - Ví dụ về mã VBA

Có nhiều cách để sử dụng các hàm trong VBA. VBA được tải với nhiều chức năng tích hợp. Bạn thậm chí có thể tạo các chức năng của riêng mình (UDF). Tuy nhiên, bạn cũng có thể sử dụng nhiều hàm của Excel trong VBA bằng cách sử dụng Application.WorksheetFunction.

Cách sử dụng các hàm của trang tính trong VBA

Để truy cập một hàm Excel trong VBA, hãy thêm Application.WorksheetFunction vào trước hàm mà bạn muốn gọi. Trong ví dụ dưới đây, chúng tôi sẽ gọi Hàm tối đa của Excel:

12 Giảm giá trị tối đa miễn làmaxvalue = Application.WorksheetFunction.Max (Phạm vi ("a1"). Giá trị, Phạm vi ("a2"). Giá trị)

Cú pháp của các hàm giống nhau, tuy nhiên bạn sẽ nhập các đối số của hàm giống như cách bạn làm với bất kỳ hàm VBA nào khác.

Lưu ý rằng cú pháp của Hàm tối đa xuất hiện khi bạn nhập (tương tự như với Hàm VBA):

Phương thức WorksheetFunction

WorksheetFunction là một phương thức của đối tượng Ứng dụng. Nó cho phép bạn truy cập vào nhiều (không phải tất cả) các hàm trang tính Excel tiêu chuẩn. Nói chung, bạn sẽ không có quyền truy cập vào bất kỳ hàm trang tính nào có phiên bản VBA tương ứng.

Bạn có thể xem danh sách nhiều Chức năng Bảng tính phổ biến nhất bên dưới.

Application.WorksheetFunction và Application

Thực tế có hai cách để truy cập các chức năng này:

Application.WorksheetFunction (như đã thấy ở trên):

1 maxvalue = Application.WorksheetFunction.Max (Phạm vi ("a1"). Giá trị, Phạm vi ("a2"). Giá trị)

hoặc bạn có thể bỏ qua WorksheetFunction

1 maxvalue = Application.Max (Phạm vi ("a1"). Giá trị, Phạm vi ("a2"). Giá trị)

Thật không may, việc bỏ qua WorksheetFunction sẽ loại bỏ Intellisense hiển thị cú pháp (xem hình trên). Tuy nhiên, nó có một lợi thế tiềm năng lớn: Xử lý lỗi.

Nếu bạn sử dụng Ứng dụng và hàm của bạn tạo ra lỗi, nó sẽ trả về giá trị lỗi. Nếu bạn sử dụng phương thức WorksheetFunction, VBA sẽ thông báo lỗi thời gian chạy. Tất nhiên, bạn có thể xử lý lỗi VBA, nhưng tốt hơn hết là bạn nên tránh lỗi ngay từ đầu.

Hãy xem một ví dụ để thấy sự khác biệt:

Xử lý lỗi Vlookup WorksheetFunction

Chúng tôi sẽ cố gắng thực hiện một Vlookup mà không dẫn đến kết quả trùng khớp. Vì vậy, hàm Vlookup sẽ trả về một lỗi.

Đầu tiên, chúng ta sẽ sử dụng phương thức WorksheetFunction. Lưu ý cách VBA thông báo lỗi:

Tiếp theo, chúng tôi bỏ qua WorksheetFunction. Chú ý làm thế nào

Tiếp theo, chúng ta sẽ bỏ qua WorksheetFunction. Lưu ý rằng không có lỗi nào được ném ra và thay vào đó hàm ‘value’ chứa giá trị lỗi từ Vlookup.

Danh sách chức năng bảng tính VBA

Dưới đây, bạn sẽ tìm thấy danh sách hầu hết các Chức năng VBA WorksheetFunctions phổ biến.

Hàm sốSự miêu tả
Hợp lý
Kiểm tra xem tất cả các điều kiện có được đáp ứng hay không. ĐÚNG SAI
NẾU NHƯNếu điều kiện được đáp ứng, hãy làm điều gì đó, nếu không, hãy làm điều gì đó khác.
IFERRORNếu kết quả là lỗi thì hãy làm điều gì đó khác.
HOẶCKiểm tra xem có đáp ứng bất kỳ điều kiện nào không. ĐÚNG SAI
Tra cứu & Tham khảo
LỰA CHỌNChọn một giá trị từ danh sách dựa trên số vị trí của nó.
HLOOKUPTra cứu một giá trị trong hàng đầu tiên và trả về một giá trị.
MỤC LỤCTrả về một giá trị dựa trên số cột và số hàng của nó.
TRA CỨUTra cứu các giá trị theo chiều ngang hoặc chiều dọc.
TRẬN ĐẤUTìm kiếm một giá trị trong danh sách và trả về vị trí của nó.
VẬN CHUYỂNLật hướng của một loạt các ô.
VLOOKUPTra cứu một giá trị trong cột đầu tiên và trả về một giá trị.
Ngày giờ
NGÀYTrả về một ngày trong năm, tháng và ngày.
DATEVALUEChuyển đổi một ngày được lưu trữ dưới dạng văn bản thành một ngày hợp lệ
NGÀYTrả về ngày dưới dạng số (1-31).
DAYS360Trả về ngày giữa 2 ngày trong một năm 360 ngày.
CHỈNH SỬATrả về một ngày, cách ngày bắt đầu n tháng.
KINH TẾTrả về ngày cuối cùng của tháng, ngày thứ n của tháng.
GIỜTrả về giờ dưới dạng số (0-23).
PHÚTTrả về phút dưới dạng một số (0-59).
THÁNGTrả về tháng dưới dạng số (1-12).
NETWORKDAYSSố ngày làm việc giữa 2 ngày.
NETWORKDAYS.INTLNgày làm việc giữa 2 ngày, các ngày cuối tuần tùy chỉnh.
HIỆN NAYTrả về ngày và giờ hiện tại.
THỨ HAITrả về thứ hai dưới dạng một số (0-59)
THỜI GIANTrả về thời gian từ một giờ, phút và giây.
GIÁ TRỊ THỜI GIANChuyển đổi thời gian được lưu trữ dưới dạng văn bản thành thời gian hợp lệ.
TUẦNTrả về ngày trong tuần dưới dạng số (1-7).
TUẦNTrả về số tuần trong một năm (1-52).
WORKDAYNgày n ngày làm việc kể từ ngày.
NĂMTrả về năm.
YEARFRACTrả về phần năm giữa 2 ngày.
Kỹ thuật
ĐỔIChuyển đổi số từ đơn vị này sang đơn vị khác.
Tài chính
FVTính toán giá trị tương lai.
PVTính giá trị hiện tại.
NPERTính tổng số kỳ thanh toán.
PMTTính toán số tiền thanh toán.
TỶ LỆTính lãi suất.
NPVTính giá trị hiện tại ròng.
IRRTỷ suất hoàn vốn nội bộ của một tập hợp các CF định kỳ.
XIRRTỷ suất hoàn vốn nội bộ của một tập hợp các CF không định kỳ.
GIÁ BÁNTính giá của một trái phiếu.
INTRATELãi suất của một chứng khoán được đầu tư đầy đủ.
Thông tin
ISERRKiểm tra xem giá trị ô có phải là lỗi hay không, bỏ qua # N / A. ĐÚNG SAI
BÁC SĨKiểm tra xem giá trị ô có phải là lỗi không. ĐÚNG SAI
ISEVENKiểm tra xem giá trị ô là chẵn. ĐÚNG SAI
SINH THÁIKiểm tra xem ô có logic không (TRUE hoặc FALSE). ĐÚNG SAI
ISNAKiểm tra xem giá trị ô có là # N / A hay không. ĐÚNG SAI
ISNONTEXTKiểm tra xem ô không phải là văn bản (các ô trống không phải là văn bản). ĐÚNG SAI
THÁNG NĂMKiểm tra xem ô có phải là một số không. ĐÚNG SAI
LÀ SỐ LẺKiểm tra nếu giá trị ô là lẻ. ĐÚNG SAI
ISTEXTKiểm tra xem ô có phải là văn bản hay không. ĐÚNG SAI
KIỂUTrả về kiểu giá trị trong một ô.
Toán học
ABSTính giá trị tuyệt đối của một số.
ĐỒNG ÝXác định và thực hiện các phép tính cho một cơ sở dữ liệu hoặc một danh sách.
TRẦN NHÀLàm tròn một số đến bội số được chỉ định gần nhất.
COSTrả về cosin của một góc.
DEGREESChuyển đổi radian sang độ.
DSUMTổng hợp các bản ghi cơ sở dữ liệu đáp ứng các tiêu chí nhất định.
THẬM CHÍLàm tròn đến số nguyên chẵn gần nhất.
NSTính giá trị theo cấp số nhân của một số nhất định.
SỰ THẬTTrả về giai thừa.
SÀN NHÀLàm tròn một số xuống đến bội số được chỉ định gần nhất.
GCDTrả về ước số chung lớn nhất.
NSLàm tròn một số xuống số nguyên gần nhất.
LCMTrả về bội số chung nhỏ nhất.
LNTrả về lôgarit tự nhiên của một số.
ĐĂNG NHẬPTrả về lôgarit của một số với một cơ số đã chỉ định.
LOG10Trả về logarit cơ số 10 của một số.
MROUNDLàm tròn một số thành bội số đã chỉ định.
SỐ LẺLàm tròn đến số nguyên lẻ gần nhất.
số PiGiá trị của PI.
SỨC MẠNHTính một số được nâng lên thành lũy thừa.
SẢN PHẨMNhân một mảng số.
QUOTIENTTrả về kết quả nguyên của phép chia.
RADIANSChuyển đổi một góc thành radian.
RANDBETWEENTính một số ngẫu nhiên giữa hai số.
VÒNGLàm tròn một số đến một số chữ số được chỉ định.
LÀM TRÒN XUỐNGLàm tròn một số xuống (về 0).
ROUNDUPLàm tròn một số lên (đi từ số 0).
TỘITrả về sin của một góc.
TIỀM NĂNGTrả về thống kê tóm tắt cho một chuỗi dữ liệu.
TỔNGCộng các số với nhau.
SUMIFTính tổng các số đáp ứng một tiêu chí.
SUMIFSTính tổng các số đáp ứng nhiều tiêu chí.
GIỚI THIỆUNhân các mảng số và tính tổng mảng kết quả.
TÂNTrả về tiếp tuyến của một góc.
Số liệu thống kê
TRUNG BÌNHSố trung bình.
AVERAGEIFSố trung bình đáp ứng một tiêu chí.
AVERAGEIFSTính trung bình các số đáp ứng nhiều tiêu chí.
CORRELTính toán sự tương quan của hai chuỗi.
ĐẾMĐếm các ô có chứa một số.
COUNTAĐếm các ô không trống.
COUNTBLANKĐếm các ô trống.
COUNTIFĐếm các ô đáp ứng tiêu chí.
COUNTIFSĐếm các ô đáp ứng nhiều tiêu chí.
DỰ BÁODự đoán giá trị y trong tương lai từ đường xu hướng tuyến tính.
TẦN SỐĐếm các giá trị nằm trong phạm vi được chỉ định.
SỰ PHÁT TRIỂNTính toán các giá trị Y dựa trên tăng trưởng theo cấp số nhân.
GIAO LƯUTính toán điểm chặn Y cho một đường phù hợp nhất.
LỚNTrả về giá trị lớn nhất thứ k.
CUỐI CÙNGTrả về thống kê về đường xu hướng.
TỐI ĐATrả về số lớn nhất.
TRUNG BÌNHTrả về số trung vị.
MINTrả về số nhỏ nhất.
CHẾ ĐỘTrả về số phổ biến nhất.
PERCENTILETrả về phân vị thứ k.
PERCENTILE.INCTrả về phân vị thứ k. Trường hợp k bao gồm.
PERCENTILE.EXCTrả về phân vị thứ k. Trường hợp k độc quyền.
QUARTILETrả về giá trị phần tư đã chỉ định.
QUARTILE.INCTrả về giá trị phần tư đã chỉ định. Bao gồm.
QUARTILE.EXCTrả về giá trị phần tư đã chỉ định. Loại trừ.
THỨ HẠNGXếp hạng của một số trong một chuỗi.
RANK.AVGXếp hạng của một số trong một chuỗi. Mức trung bình.
RANK.EQXếp hạng của một số trong một chuỗi. Xếp hạng hàng đầu.
DỐCTính toán độ dốc từ hồi quy tuyến tính.
NHỎTrả về giá trị nhỏ nhất thứ k.
STDEVTính toán độ lệch chuẩn.
STDEV.PTính SD của toàn bộ dân số.
STDEV.STính SD của một mẫu.
STDEVPTính SD của toàn bộ dân số
XU HƯỚNGTính toán các giá trị Y dựa trên đường xu hướng.
Chữ
DỌN DẸPLoại bỏ tất cả các ký tự không in được.
ĐÔ LAChuyển đổi một số thành văn bản ở định dạng tiền tệ.
TÌM THẤYĐịnh vị vị trí của văn bản trong một ô.
BÊN TRÁICắt bớt văn bản một số ký tự từ bên trái.
LENĐếm số ký tự trong văn bản.
MIDTrích xuất văn bản từ giữa ô.
THÍCH HỢPChuyển đổi văn bản thành trường hợp thích hợp.
THAY THẾThay thế văn bản dựa trên vị trí của nó.
REPTLặp lại văn bản một số lần.
ĐÚNGCắt bớt văn bản một số ký tự từ bên phải.
TÌM KIẾMĐịnh vị vị trí của văn bản trong một ô. Không phân biệt chữ hoa chữ thường.
THAY THẾTìm và thay thế văn bản. Trường hợp nhạy cảm.
CHỮChuyển đổi một giá trị thành văn bản với một định dạng số cụ thể.
TRIMLoại bỏ tất cả các khoảng trắng thừa khỏi văn bản.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave