Đánh giá lequocthai.com:
- Loạt các bài viết có liên quan chuyên đề VBA:
- VBA Excel Hộp thoại thông báo
- VBA Excel Biến trong VBA Excel
- VBA Excel sử dụng Scripting Dictionary
- VBA Excel Biến trong VBA Excel
- VBA Excel Workbook, worksheet
- VBA Excel Range, Cells
- VBA Excel Hàm trong Excel VBA
- VBA Excel Events, Application Object
- VBA Excel Function and Sub Excel VBA
- VBA Excel Array Mảng trong Excel VBA
- VBA Excel FileSystemObject trong Excel VBA
- VBA Excel Collection trong Excel VBA
- VBA Excel Hashtable trong Excel VBA
- VBA Excel Stack trong Excel VBA
- VBA Excel Queue trong Excel VBA
- VBA Excel SortedList Excel VBA
- VBA Excel ArrayList Excel VBA
- VBA Excel Ví dụ về Scripting Dictionary
- Sách VBA Excel 2016 power programming with vba (pdf)
- Các bài viết liên quan:
- Sách Excel 2016 Formulas – John Wiley & Sons (2016) pdf
- Sách Programming Excel with VBA Flavio Morgado pdf
- Sách EXCEL TIPS AND TRICKS
- Sách Excel Pivot Tables and Charts pdf
- Sách Excel 2019 Power Programming with VBA
- Sách VBA Excel 2016 power programming with vba (pdf)
- Sách Excel 2013 Power Programming with VBA pdf
- Sách Excel 2007 VBA Programmer’s Reference pdf
- Sách Excel 2019 For Dummies pdf
- Microsoft Excel 2019 All in one for Dummies ( 8 books in one ) pdf
- Sách Lean Excel Top Functions Quick Reference Guide with 500 Examples
- Add-ins Kutools for Excel Full Active
- FREE 101 Ready Made Excel Templates
- Sách Microsoft Excel 2016 Data Analysis and Business Modeling
- Excel Dashboards and Reports for Dummies
- Code VBA Excel đọc số ra chữ
- Tải các tiện ích Excel Add-ins hay nhất
- Một số kinh nghiệm trong bảng tính Excel
- Cách dùng hàm SumProduct và Công thức mảng
- 7 Cuốn sách lập trình VBA Excel hay nhất từ cơ bản đến nâng cao
2. Khai báo biến và đặt tên biến trong VBA
– Mỗi chương trình ứng dụng thường xử lý nhiều dữ liệu, ta dùng khái niệm “biến” để lưu trữ dữ liệu trong bộ nhớ máy tính, mỗi biến lưu trữ một dữ liệu của chương trình.
– Mặc dù VBA không yêu cầu (*), nhưng ta nên định nghĩa rõ ràng từng biến trước khi truy xuất nó để code của chương trình được rõ ràng, dễ hiểu, dễ bảo trì và phát triển.
– Định nghĩa 1 biến là :
• Định nghĩa tên nhận dạng cho biến,
• Kết hợp kiểu với biến để xác định cấu trúc dữ liệu của biến,
• Định nghĩa tầm vực (phạm vi) truy xuất biến.
– Cú pháp đơn giản của lệnh định nghĩa biến:
[Static|Public|Private|Dim] AVariable [As Type]
+ Static, Public, Private, Dim (**): Các từ khóa để khai báo một biến.
+ Avariable: Tên biến cần khai báo.
Tại từng thời điểm, biến chứa một giá trị (nội dung) cụ thể. Theo thời gian nội dung của biến sẽ bị thay đổi theo tính chất xử lý của code.
– Cách đặt tên cho một biến :
• Tên biến có độ dài tối đa 255 ký tự
• Ký tự đầu tiên phải là một ký tự chữ (letter), không phải ký tự số (0-9)
• Các ký tự tiếp theo có thể là các ký tự chữ (letter), ký số (digit), dấu gạch dưới
• Tên biến không được chứa các ký tự đặc biệt như các ký tự : ^, &, ), (,%, $, #, @, !, ~, +, -, *, …
• VBA không phân biệt chữ HOA hay chữ thường trong tên biến.
Ví dụ:
Tên biến hợp lệ | Tên biến không hợp lệ |
Bien1_dong
|
Bien-1 : Vì có dấu gạch ngangBien&1 : Vì có ký tự &1Bien_dong : Vì có ký tự số ở đầu |
Ví dụ: Ta muốn có một biến để lưu mã khác hàng thì có thể đặt:
MaKH
– Khi viết tên biến ta nên viết hoa chữ đầu tiên của một từ có ý nghĩa.
Ví dụ: Đặt tên biến xác định khối lượng, số tiền: Kluong, SoTien
– Không được dùng tên biến trùng với các từ khoá như: Print, Sub, End… (từ khóa là những từ mà ngôn ngữ VBA đã dùng cho những thành phần xác định của ngôn ngữ).
+ As: Từ khóa, gán với kiểu dữ liệu nào cho biến.
+ Type: Kiểu dữ liệu cần gán cho biến đang khai báo. Nếu bỏ qua [As Type] thì biến đó mặc định nhận kiểu dữ liệu Variant.
– Khi ở trên cùng trong các môi trường VBA Project (Worksheet, Workbook, Module, Class module, UserForm) có dòng Option Explicit thì các biến phải được khai báo trước khi sử dụng.
– Hai cách thiết lập Option Explicit:
Một là nhập trực tiếp ở trên cùng của môi trường viết code.
Hai là thiết lập Options trong VBA, yêu cầu khai báo biến (mục Require Variable Declaration được chọn) thì ở trên cùng trong các môi trường VBA Project (Worksheet, Workbook, Module, Class module, UserForm) sẽ tự động thêm dòng
Chú thích (**): Giải thích các từ khóa đứng trước tên biến trong cú pháp khai báo biến.
[Static|Public|Private|Dim] AVariable [As Type]
Public, Private, Static là các từ khoá dùng để xác định phạm vi (tầm vực) của một vật thể (variable, sub, or function).
Phạm vi/ tầm vực có hai tính chất: tính chất “có thể thấy được” và tính chất “tồn tại”.
– Tồn tại: Chỉ áp dụng cho biến (variable), không tồn tại có nghĩa là chưa được thiết lập, hoặc đã bị huỷ.
– Có thể thấy được: Áp dụng cho mọi loại (variable, sub, or function). Tùy theo cách khai báo mà vật thể có thể thấy được trong một phạm vi nhưng lại bị che khuất trong phạm vi khác. Lưu ý là vật thể có thể vẫn tồn tại, chỉ ở ngoài phạm vi thì không chạm được tới nó mà thôi.
• Public: phạm vi toàn cục, ở đâu trong workbook cũng có thể thấy / dùng được. Tuy nhiên, nếu nó được khai báo trong module mức thấp thì qua mức cao hơn có thể phải thêm tên của module vào đầu để VBA biết nó ở đâu mà tìm.(TenModule.TenBien)
Public AVariable [As Type]
– Tồn tại: Biến chỉ giải phóng khi thoát file.– Vị trí:
Để ngoài Sub/Function, trên cùng của môi trường VBA Project (Worksheet, Workbook, Module, Class module, UserForm).
• Private: phạm vi nội bộ khi xét cả VBAProject, nó khai báo trên cùng module thì nó là toàn cục của module đó, các code trong module đó đều thấy nó.
– Cấu trúc:
Private AVariable
[As Type]
– Tồn tại: Biến chỉ giải phóng khi thoát file.
– Vị trí:
Để ngoài Sub/Function, trên cùng của môi trường VBA Project (Worksheet, Workbook, Module, Class module, UserForm).
• Dim: Khai báo biến ở phạm vi toàn cục trong môi trường được khai báo (để ở ngoài Sub/ Function, trên cùng module) nhưng là phạm vi nội bộ khi xét cả VBAProject, hoặc nội bộ trong Sub/ Function.
– Cấu trúc:
Dim AVariable
[As Type]
– Tồn tại: Biến giải phóng khi thoát file (phạm vi toàn cục của module), giải phóng khi thoát Sub/Function (phạm vi nội bộ của Sub/Function).
– Vị trí:
+ Để ở ngoài Sub/ Function: Khai báo biến ở phạm vi toàn cục của môi trường khai báo.
+ Khai báo trong Sub/ Function: Phạm vi nội bộ của Sub/Function.
• Static: Khai báo biến ở phạm vi nội bộ trong Sub/ Function.
Cấu trúc:
Static AVariable
[As Type]
– Tồn tại: Biến chỉ giải phóng khi thoát file.
– Trong chương trình có 2 vùng bộ nhớ, vùng heap và vùng stack. Biến khai báo toàn cục thuộc về heap và biến khai báo nội bộ Sub/Function là biến thuộc về stack. Các vật thể nằm trong vùng stack sẽ bị huỷ sau khi Sub/Function Exit hoặc End. Riêng biến Static thì luôn thuộc về heap bất kể nó là Public hay Private. Vì vậy biến Static không bị huỷ khi Sub/Function thoát.
– Phạm vi/tầm vực của heap và stack:
Heap là vùng nhớ chung của chương trình. Khi chương trình còn chạy thì những gì nằm trong heap còn tồn tại.
Stack là vùng nhớ riêng của mỗi function/sub. Khi chương đang ở trong function/code thì những gì trong stack còn tồn tại. Khi thoát function/sub thì những gì trong stack (của function/sub này) bị huỷ hết.
– Tất cả các kiểu khai báo biến, kể cả Public hay Static thì biến đều được giải phóng khi code bị bất cứ lỗi nào và dừng chương trình.
Làm sao mình có thể download hay order tài liệu được ạ. Liên hệ lại: 0903.030.886 Cám ơn nhiều
Bài viết hay quá, mình đang theo dõi site bạn, cám ơn bạn nhiều