Các toán tử VBA và các chức năng tích hợp

Câu lệnh VBA trong Excel

Khi viết mã VBA trong Excel, một tập hợp các toán tử dựng sẵn được sử dụng ở mỗi bước. Các toán tử này được chia thành các toán tử toán học, chuỗi, so sánh và logic. Tiếp theo, chúng ta sẽ xem xét chi tiết từng nhóm toán tử.

Toán tử toán học

Các toán tử toán học VBA chính được liệt kê trong bảng dưới đây.

Cột bên phải của bảng hiển thị thứ tự ưu tiên của toán tử mặc định trong trường hợp không có dấu ngoặc đơn. Bằng cách thêm dấu ngoặc đơn vào một biểu thức, bạn có thể thay đổi thứ tự mà các câu lệnh VBA được thực thi theo ý muốn.

Nhà điều hànhHoạt độngưu tiên

(1 - cao nhất; 5 - thấp nhất)

^toán tử lũy thừa1
*toán tử nhân2
/toán tử phân chia2
Phép chia không có dư - trả về kết quả của phép chia hai số không có dư. Ví dụ, 74 sẽ trả về kết quả 13
SỰ KHÍCH LỆToán tử Modulo (phần dư) - trả về phần còn lại sau khi chia hai số. Ví dụ, 8 đấu với 3 sẽ trả về kết quả 2.4
+Toán tử bổ sung5
-toán tử trừ5

Toán tử chuỗi

Toán tử chuỗi cơ bản trong Excel VBA là toán tử nối & (hợp nhất):

Nhà điều hànhHoạt động
&điều hành nối. Ví dụ, biểu thức «A» & «B» sẽ trả về kết quả AB.

Toán tử so sánh

Toán tử so sánh được sử dụng để so sánh hai số hoặc chuỗi và trả về giá trị kiểu boolean Boolean (Đúng hay sai). Các toán tử so sánh VBA trong Excel chính được liệt kê trong bảng này:

Nhà điều hànhHoạt động
=Bằng nhau
<>Không công bằng
<Ít hơn
>Больше
<=Nhỏ hơn hoặc bằng
>=Lớn hơn hoặc bằng

khai thác hợp lý

Toán tử logic, giống như toán tử so sánh, trả về giá trị kiểu boolean Boolean (Đúng hay sai). Các toán tử logic chính của Excel VBA được liệt kê trong bảng dưới đây:

Nhà điều hànhHoạt động
hoạt động kết hợp, toán tử logic И. Ví dụ, biểu thức A và B sẽ trở lại Thật, Nếu A и B cả hai đều bình đẳng Thật, nếu không thì trả lại Sai.
OrHoạt động ngắt kết nối, toán tử logic OR. Ví dụ, biểu thức A hoặc B sẽ trở lại Thật, Nếu A or B ngang nhau Thật, và sẽ trở lại Sai, Nếu A и B cả hai đều bình đẳng Sai.
KhôngPhép toán phủ định, toán tử logic KHÔNG. Ví dụ, biểu thức Không phải A sẽ trở lại Thật, Nếu A như nhau Sai, hoặc trở lại Sai, Nếu A như nhau Thật.

Bảng trên không liệt kê tất cả các toán tử logic có sẵn trong VBA. Danh sách đầy đủ các toán tử logic có thể được tìm thấy tại Trung tâm Nhà phát triển Visual Basic.

Chức năng tích hợp sẵn

Có rất nhiều hàm tích hợp sẵn trong VBA có thể được sử dụng khi viết mã. Dưới đây là một số trong số những cách được sử dụng phổ biến nhất:

Chức năngHoạt động
AbsTrả về giá trị tuyệt đối của một số đã cho.

Ví dụ:

  • Abs (-20) trả về giá trị 20;
  • Cơ (20) trả về giá trị 20.
BCTrả về ký tự ANSI tương ứng với giá trị số của tham số.

Ví dụ:

  • Chr (10) trả về ngắt dòng;
  • Chr (97) trả về một ký tự a.
NgàyTrả về ngày hệ thống hiện tại.
NgàyThêmThêm khoảng thời gian cụ thể vào ngày đã cho. Cú pháp hàm:

DateAdd(интервал, число, дата)

Đối số ở đâu khoảng thời gian xác định loại khoảng thời gian được thêm vào ngày với số lượng được chỉ định trong đối số con số.

Tranh luận khoảng thời gian có thể nhận một trong các giá trị sau:

Khoảng thời gianGiá trị
yyyynăm
qquý
mtháng
yngày trong năm
dngày
wngày trong tuần
wwtuần
hgiờ
nphút
s2

Ví dụ:

  • DateAdd («d», 32, «01/01/2015») thêm 32 ngày vào ngày 01/01/2015 và do đó trả về ngày 02/02/2015.
  • DateAdd («ww», 36, «01/01/2015») thêm 36 tuần vào ngày 01/01/2015 và trả về ngày 09/09/2015.
ngày chênh lệchTính số khoảng thời gian được chỉ định giữa hai ngày nhất định.

Ví dụ:

  • DateDiff(«d», «01/01/2015», «02/02/2015») tính số ngày từ 01/01/2015 đến 02/02/2015, trả về 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») tính số tuần từ 01/01/2015 đến 03/03/2016, trả về 61.
ngàyTrả về một số nguyên tương ứng với ngày của tháng trong ngày đã cho.

Ví dụ: Ngày («29/01/2015») trả về số 29.

giờTrả về một số nguyên tương ứng với số giờ tại thời điểm đã cho.

Ví dụ: Giờ («22:45:00») trả về số 22.

trongStrNó nhận một số nguyên và hai chuỗi làm đối số. Trả về vị trí xuất hiện của chuỗi thứ hai trong chuỗi đầu tiên, bắt đầu tìm kiếm tại vị trí được cho bởi một số nguyên.

Ví dụ:

  • InStr (1, “Đây là từ tìm kiếm”, “từ”) trả về số 13.
  • InStr (14, "Đây là từ tìm kiếm và đây là một từ tìm kiếm khác", "từ") trả về số 38.

Lưu ý: Đối số number có thể không được chỉ định, trong trường hợp đó, tìm kiếm bắt đầu từ ký tự đầu tiên của chuỗi được chỉ định trong đối số thứ hai của hàm.

IntTrả về phần nguyên của một số đã cho.

Ví dụ: Int (5.79) trả về kết quả 5.

ngày tháng nămTrả hàng Thậtnếu giá trị đã cho là một ngày tháng, hoặc Sai - nếu không phải là ngày.

Ví dụ:

  • IsDate («01/01/2015») Trả về Thật;
  • IsDate (100) Trả về Sai.
Là LỗiTrả hàng Thậtnếu giá trị đã cho là lỗi, hoặc Sai - nếu nó không phải là một lỗi.
Đang thiếuTên của đối số thủ tục tùy chọn được chuyển làm đối số cho hàm. Đang thiếu Trả về Thậtnếu không có giá trị nào được chuyển cho đối số thủ tục được đề cập.
Là sốTrả hàng Thậtnếu giá trị đã cho có thể được coi là một số, nếu không thì trả về Sai.
Còn lạiTrả về số ký tự được chỉ định từ đầu chuỗi đã cho. Cú pháp hàm như sau:

Left(строка, длина)

Ở đâu hàng là chuỗi gốc và chiều dài là số ký tự cần trả về, tính từ đầu chuỗi.

Ví dụ:

  • Trái (“abvgdejziklmn”, 4) trả về chuỗi “abcg”;
  • Trái (“abvgdejziklmn”, 1) trả về chuỗi “a”.
LenTrả về số ký tự trong một chuỗi.

Ví dụ: Len (“abcdej”) trả về số 7.

thángTrả về một số nguyên tương ứng với tháng của ngày đã cho.

Ví dụ: Tháng («29/01/2015») trả về giá trị 1.

ở giữaTrả về số ký tự được chỉ định từ giữa chuỗi đã cho. Cú pháp hàm:

Giữa (hàng, Bắt đầu, chiều dài)

Ở đâu hàng là chuỗi gốc Bắt đầu - vị trí đầu của chuỗi được trích xuất, chiều dài là số ký tự được trích xuất.

Ví dụ:

  • Giữa (“abvgdejziklmn”, 4, 5) trả về chuỗi “where”;
  • Giữa (“abvgdejziklmn”, 10, 2) trả về chuỗi “cl”.
PhútTrả về một số nguyên tương ứng với số phút trong thời gian nhất định. Thí dụ: Phút («22:45:15») trả về giá trị 45.
Hiện nayTrả về ngày và giờ hệ thống hiện tại.
ĐúngTrả về số ký tự được chỉ định từ cuối chuỗi đã cho. Cú pháp hàm:

Đúng(hàng, chiều dài)

Ở đâu hàng là chuỗi gốc và chiều dài là số ký tự cần trích xuất, đếm từ cuối chuỗi đã cho.

Ví dụ:

  • Đúng («abvgdezhziklmn», 4) trả về chuỗi “clmn”;
  • Đúng («abvgdezhziklmn», 1) trả về chuỗi “n”.
Thứ haiTrả về một số nguyên tương ứng với số giây trong thời gian nhất định.

Ví dụ: Thứ hai («22:45:15») trả về giá trị 15.

vuôngTrả về căn bậc hai của giá trị số được truyền vào đối số.

Ví dụ:

  • Sqr (4) trả về giá trị 2;
  • Sqr (16) trả về giá trị 4.
Thời gianTrả về thời gian hiện tại của hệ thống.
về đíchTrả về chỉ số trên của kích thước mảng đã chỉ định.

Lưu ý: Đối với mảng nhiều chiều, một đối số tùy chọn có thể là chỉ mục trả về thứ nguyên nào. Nếu không được chỉ định, giá trị mặc định là 1.

nămTrả về một số nguyên tương ứng với năm của ngày đã cho. Thí dụ: Năm («29/01/2015») trả về giá trị 2015.

Danh sách này chỉ bao gồm lựa chọn các hàm tích hợp sẵn trong Excel Visual Basic được sử dụng phổ biến nhất. Bạn có thể tìm thấy danh sách đầy đủ các hàm VBA để sử dụng trong macro Excel trên Trung tâm Nhà phát triển Visual Basic.

Bình luận