Một số kiểu dữ liệu thường dùng trong VBA
1. Kiểu số nguyên (Byte, Integer, Long)
Tên kiểu
|
Phạm vi
|
Chiếm trong bộ nhớ
|
Byte
|
0 đến 28-1 (0 à 255)
|
1 Byte
|
Integer
|
-215 à 215-1
(-32.768 à 32.767)
|
2 Byte
(215 vì 1 bít chứa dấu)
|
Long
|
-231 à 231-1
(-2.147.483.648 à 2.147.483.647)
|
4 Byte
(231 vì 1 bít chứa dấu)
|
Các phép toán: + - * / Mod (chia lấy phần dư) \ (chia lấy phần nguyên)
VD:
7 mod 3 = 1 8 mod 2 = 0
7 \ 3 = 2 10 / 3 = 3.33..333
(-5) mod 2 = -1 >>Để cho kết quả đúng là số dương ta dùng công thức sau:
Vd: a mod b (a<0,b>0) khi đó kết quả a mod b được viết lại như sau:
b - (-a mod b)khi đó (-5 mod 2) = 2-(-(-5) mod 2)=1
(-5) mod 2 = -1 >>Để cho kết quả đúng là số dương ta dùng công thức sau:
Vd: a mod b (a<0,b>0) khi đó kết quả a mod b được viết lại như sau:
b - (-a mod b)khi đó (-5 mod 2) = 2-(-(-5) mod 2)=1
2. Kiểu số thực (Single, Double)
- Phép toán: + - * /
- Singgle (2Byte); Double (4Byte)
3. Kiểu ngày (Date)
- Phép toán:
Ngày – Ngày = là khoảng cách giữa hai ngày (theo số ngày)
Ngày – Số = Ngày trước đó (#11/4/1983# - 1 = ngày 3 tháng 11 năm 1983)
Ngày + Số = Ngày sau (#11/4/1983# + 1 = ngày 5 tháng 11 năm 1983).
Ví dụ:
Sub ddmmyyyy()
Dim ngay As Date
ngay = #11/4/1983#
MsgBox ngay & ChrW(10) & ngay + 1 & ChrW(10) & ngay - 1
MsgBox "Ngay: " & Day(ngay) & ChrW(10) & "Thang: " & Month(ngay) & ChrW(10) & "Nam:" & Year(ngay)
End Sub
Một số hàm xử lý kiểu Date
Tên hàm
|
Ý nghĩa
|
date()
|
Trả về ngày hiện tại
|
Cdate()
|
Chuẩn hóa kiểu ngày tháng
|
Datediff()
|
Tính khoảng cách thời gian
|
DateSerial()
|
Trả về kiểu ngày tháng
|
IsDate()
|
Kiểm tra kiểu dữ liệu ngày tháng
|
Day()
|
Trả về ngày
|
Month()
|
Trả về tháng
|
Year()
|
Trả về năm
|
Weekday()
|
Trả về thứ trong tuần
|
Now()
|
Trả về ngày giờ hiện tại
|
Hour()
|
Trả về giờ
|
Minute()
|
Trả về phút
|
Second()
|
Trả về giây
|
Time()
|
Trả về giờ hiện tại
|
TimeSerial()
|
Trả về kiểu giờ
|
3. Kiểu logic (Boolean)
- Hằng: True, False
- Phép toán: AND (và) OR (hoặc) NOT (phủ định)
VD: (a mod 2 =0) And (a mod 3=0) à True thì a là số chẵn và a chia hết cho 3
4. Kiểu xâu kí tự (String)
- Lưu trữ tối đa 256 kí tự.
- Hằng xâu: đặt trong cặp dấu nháy kép Ví dụ: “Ha Noi”
- Phép toán: & (phép ghép xâu)
Ví dụ: “Chu” & “Se” à “ChuSe”;
s1=”Gia” s2=”Lai” à s=s1&“ ”&s2 à S=”Gia Lai”
Một số hàm cho xử lý chuỗi
5. Kiểu mảng (Array)
Cách khai báo (mảng một chiều):
Cú pháp: Dim TênMảng(n) As KiểuPhầnTử ' n nguyên dương tương ứng với n+1 phần tử
Dim a(9) As Integer – mảng 10 phần tử kiểu số nguyên
Dim b(10) As String – mảng 11 phần tử kiểu xâu kí tự
Dim c(4) As Date – mảng 5 phần kiểu ngày
Lưu ý: chỉ số trong mảng một chiều ở trên bắt đầu từ 0
6. Kiểu bản ghi
Cúp pháp:
Type Tên kiểu bản ghi
Trường 1 As Kiểu dữ liệu
Trường 2 As Kiểu dữ liệu
…
Trường n As Kiểu dữ liệu
End Type
Ví dụ:
Type hocsinh
ngaysinh As Date
GT As Boolean
DBT As Double
End Type
Dim teo As hocsinh
à Để tham chiếu đến hoten, giới tính, điểm trung bình của biến teo ta viết:
teo.hoten, teo.GT, teo.DTB…
* Dim dslop(54) As hocsinh ‘Khai báo 1 danh sách tối đa 55 học sinh
à Để tham chiếu đến họ tên của học sinh thứ i ta viết: dslop(i).hoten* Khai báo biến
[Static|Public|Private|Dim] Tên biến As Kiểu dữ liệu