Loại dữ liệu VBA
Kiểu dữ liệu là ký tự cốt lõi của bất kỳ biến nào, nó đại diện cho kiểu giá trị mà chúng ta có thể lưu trữ trong biến và giới hạn hoặc phạm vi giá trị có thể được lưu trữ trong biến là gì, kiểu dữ liệu được tích hợp sẵn VBA và người dùng hoặc nhà phát triển cần phải biết loại giá trị nào có thể được lưu trữ trong loại dữ liệu nào. Các kiểu dữ liệu được gán cho các biến cho biết kích thước lưu trữ của trình biên dịch của biến.
Trong VBA, chúng ta có hai loại kiểu dữ liệu tức là số và không phải số.
Trước khi gán bất kỳ kiểu dữ liệu nào, trước tiên, chúng ta cần khai báo tên biến. Biến là một tên chứa giá trị thông qua kiểu dữ liệu được gán. Trong khi đặt tên cho biến, chúng ta cần lưu ý một số điều.
Chúng ta có thể xác định biến theo hai cách. Một là "Ngụ ý" và một cái khác là "Rõ ràng."
- Cách ngầm định để xác định một biến là không sử dụng từ “DIM” và kiểu dữ liệu cho nó. Ví dụ, MyValue = 500 là cách khai báo một biến ngầm định.
- Một cách rõ ràng để xác định một biến là với từ “DIM” và kiểu dữ liệu được liên kết với nó. Ví dụ, Dim MyValue dưới dạng Số nguyên .

2 loại kiểu dữ liệu hàng đầu
Để gán kiểu dữ liệu cho biến trước hết chúng ta cần hiểu các kiểu dữ liệu. Để hiểu rõ hơn, chúng ta có thể phân loại thành hai phiến.
# 1 - Các kiểu dữ liệu số
Chúng chỉ có thể chứa các giá trị số. Các kiểu dữ liệu số phổ biến nhất là Byte, Integer, Long, Single, Double, Currency và Decimal.
Mỗi kiểu dữ liệu có thể chứa các giá trị tương ứng của chúng. Dưới đây là giải thích chi tiết.
- Một byte có thể chứa các giá trị từ 0 đến 255. Nó không thể chứa bất kỳ giá trị nào nhiều hơn 255.
- Số nguyên có thể chứa các giá trị từ -32768 đến 32768. Nó không thể chứa bất kỳ số thập phân nào.
- Long có thể giữ giá trị từ -2,147,483,648 đến 2,147,483,648.
- Loại dữ liệu đơn chỉ có thể chứa giá trị tối đa 7 chữ số, ví dụ: 1234567, 1.245564.
- Kiểu dữ liệu kép có thể chứa các giá trị lên đến 15 chữ số. Nó chỉ là sự mở rộng của kiểu dữ liệu Đơn.
- Kiểu dữ liệu tiền tệ có thể chứa 15 chữ số trước giá trị thập phân và giữ 4 chữ số sau giá trị thập phân.
- Kiểu dữ liệu thập phân có thể chứa tới 28 chữ số thập phân. Nếu bạn muốn lưu trữ bất kỳ thứ gì nhiều hơn 15 chữ số thập phân, bạn có thể sử dụng kiểu dữ liệu này.
# 2 - Các kiểu dữ liệu không phải số
Các kiểu dữ liệu này có thể chứa các giá trị của bất kỳ thứ gì khác ngoài các giá trị số. Các kiểu dữ liệu không phải số thường được sử dụng hơn là Biến thể , Chuỗi, Boolean, Ngày tháng, Đối tượng.
- Chuỗi: Có hai loại kiểu dữ liệu chuỗi. Một cái có thể chứa dữ liệu số và một cái khác có thể chứa dữ liệu phi số.
- Chuỗi Chiều dài cố định có thể chứa các ký tự từ 1 đến 65400 ký tự.
- Chuỗi Độ dài thay đổi có thể chứa các ký tự từ 0 đến 2 tỷ ký tự.
- Boolean có thể giữ các giá trị kết quả logic, tức là TRUE hoặc FALSE.
- Ngày chỉ có thể chứa các giá trị ngày từ ngày 1 tháng 1 năm 100 đến ngày 31 tháng 12 năm 9999
- Đối tượng nó chỉ có thể chứa các đối tượng của sản phẩm Microsoft. Ví dụ: Trang tính, Sổ làm việc, Phạm vi, PowerPoint, Word.
- Một biến thể cũng có hai kiểu dữ liệu, tức là Văn bản và Số.
- Văn bản biến thể có thể giữ các giá trị văn bản giống như giá trị chuỗi biến Độ dài biến.
- Variant Numeric có thể giữ các giá trị số giống như kiểu dữ liệu Double.
Ví dụ để sử dụng các kiểu dữ liệu VBA khác nhau
Ví dụ, để gán một kiểu dữ liệu trước tiên, chúng ta cần khai báo một biến bằng cách sử dụng từ “ Dim”.
Mã:
Sub DT_Example1 () Dim k End Sub
Bây giờ sử dụng từ “Như”, chúng ta cần gán kiểu dữ liệu. Bây giờ tôi sẽ gán kiểu dữ liệu là " Byte."
Mã:
Sub DT_Example1 () Dim k As Byte End Sub
Như chúng ta đã biết, kiểu dữ liệu Byte có thể chứa các giá trị từ 0 đến 255. Nhưng để kiểm tra, tôi sẽ gán giá trị lớn hơn 255.
Mã:
Sub DT_Example1 () Dim k As Byte k = 260 End Sub
Bây giờ, nếu tôi chạy mã này, chúng tôi sẽ gặp lỗi là "Quá dòng".

Tương tự, các kiểu dữ liệu khác cũng có thể giữ các giá trị theo giới hạn của chúng.
Bây giờ hãy xem đoạn mã dưới đây.
Mã:
Sub DT_Example2 () Dim k As Boolean k = 100 MsgBox k End Sub
Kiểu dữ liệu được chỉ định là "Boolean", giữ nguyên TRUE hoặc FALSE. Nhưng tôi đã gán giá trị là "100" cho biến "k."
Chạy mã này và xem điều gì sẽ xảy ra.

Chúng tôi nhận được kết quả là " Đúng".
Lý do tại sao chúng tôi nhận được TRUE vì excel coi bất kỳ điều gì lớn hơn 0 là TRUE và coi 0 là FALSE.
Bây giờ tôi sẽ gán giá trị không phải số và xem điều gì sẽ xảy ra.

Chúng tôi gặp lỗi vì “Boolean” không thể chấp nhận các giá trị văn bản khác với TRUE hoặc FALSE.