0

(VBA-Excel) – Bài 2: 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ỂUPHẠM VICHIẾM TRONG BỘ NHỚ
BYTE0 >> 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)

Ví dụ:

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

2. Kiểu số thực (SINGLE, DOUBLE)

– Sử dụng dấu “.” trong biểu diễn thập phân

– Phép toán: + –  * /- Singgle (2Byte); Double (4Byte)

3. Kiểu ngày (DATE)

– Hằng viết dưới dạng:  #11/4/1983# là ngày 04 tháng 11 năm 1983 (m/d/yyyy).

– 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)

– Chỉ có hai giá trị: True (đúng) và False (sai).

– 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 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” >> Kết quả là: “CHUSE”;

S1=”GIA”

S2=”LAI”

S = S1&“ ”&S2 >> Kết quả là: ”GIA LAI”

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ử

Ví dụ: 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 (Record)

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

hoten As String

ngaysinh As Date

GT As Boolean

DBT As Double

EndTypeDim

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|DimTên biếnAsKiểu dữ liệu

Hẹ gặp lại ở bài viết kế tiếp!

Thanks!

Đào Đình Ngọc

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *