Tải bản đầy đủ (.pdf) (5 trang)

Application object (đối tượng ứng dụng) trong VBA excel

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (438.48 KB, 5 trang )

APPLICATION OBJECT TRONG VBA EXCEL
Đối tượng đứng đầu trong các đối tượng chính là Excel, các đối tượng
này được gọi là Application Object. Các Application Object cho phép
truy cập đến rất nhiều lựa chọn liên quan đến Excel.
File bài tập đính kèm (Bạn tải về cùng nhé)!
WorksheetFunction
Bạn có thể sử dụng thuộc tính WorksheetFunction trong Excel VBA để truy cập các
chức năng Excel.
Đặt command button trên worksheet và thêm dòng mã sau đây:
Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))
Khi bạn nhấp chuột vào nút lệnh trên bảng tính, Excel VBA tính trung bình cộng
của các giá trị trong ô A1 và ô A2 sau đó đặt kết quả vào ô A3.

Lưu ý: Thay vì Application.WorksheetFunction.Average, ta có thể sử dụng
WorksheetFunction.Average. Nếu bạn nhìn vào thanh formula bar (chỗ có chữ fx), bạn có
thể thấy rằng các công thức đó không được đưa vào ô A3. Để đưa công thức đó vào ô A3,
sử dụng đoạn code sau:
Range("A3").Value = "=AVERAGE(A1:A2)"
ScreenUpdating (Cập nhật màn hình)
Đôi khi bạn có thể cần vô hiệu hóa màn hình cập nhật (để tránh nhấp nháy) trong
khi thực hiện code. Và việc này sẽ làm cho code của bạn chạy nhanh hơn.
1. Đặt command button button trên worksheet và thêm dòng mã sau đây:
Dim i As Integer

For i = 1 To 10000
Range("A1").Value = i
Next i
Khi bạn click chuột vào command button, Excel VBA hiển thị mỗi giá trị với một
phần nhỏ của một giây nhưng hiển thị rất lần, điều này có thể làm mất thời gian.

2. Để tăng tốc độ xử lý, cập nhật thêm đoạn code như sau.


Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
Range("A1").Value = i
Next i

Application.ScreenUpdating = True
Kết quả là, code của bạn sẽ chạy nhanh hơn và bạn sẽ chỉ nhìn thấy kết quả cuối
cùng (10000).
DisplayAlerts (Hiển thị cảnh báo)
Bạn có thể yêu cầu Excel VBA không hiển thị cảnh báo trong khi thực thi mã.
1. Đặt command button trên worksheet và thêm dòng mã sau đây
ActiveWorkbook.Close
Khi bạn nhấp chuột vào command button trên worksheet, Excel VBA đóng tập tin
Excel của bạn và hỏi bạn có muốn lưu các thay đổi bạn đã thực hiện.

2. Để yêu cầu Excel VBA không hiển thị cảnh báo này, cập nhật code như sau
Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True
Cậu lệnh này thích hợp sử dụng khi bạn thực hiện các công việc với excel mà không
muốn excel đưa ra cảnh bảo (lúc save file, lúc close file, lúc open file mà có update link,…).
Calculation (Tính toán)
Theo mặc định, calculation được thiết lập để tự động, Excel sẽ tính toán lại bảng
tính tự động mỗi khi một giá trị ảnh hưởng đến một công thức thay đổi. Nếu bảng tính của
bạn có chứa nhiều công thức phức tạp, bạn có thể tăng tốc độ macro của bạn bằng cách

thiết lập tính toán thủ công.
1. Đặt command button trên worksheet và thêm dòng mã sau đây:
Application.Calculation = xlCalculationManual
Khi bạn click chuột vào nút lệnh trên bảng tính, Excel VBA lập tính toán thủ công.
2. . Bạn có thể xác minh điều này bằng cách click vào File, Excel Options, Formulas

3. Bây giờ khi bạn thay đổi giá trị của ô A1, giá trị của ô B1 là không tính toán lại
(công thức của ô B1 là: = A1)

Bạn có thể tính toán lại bảng tính, bằng cách nhấn F9.
4. . Trong hầu hết các trường hợp, bạn sẽ thiết lập tính năng tự động trở lại vào cuối
đoạn code của bạn. Đơn giản chỉ cần thêm dòng code sau :
Application.Calculation = xlCalculationAutomatic

×