Trong bài viết trước, chúng mình đã chia sẻ với các bạn về biến và cách khai báo biến trong Excel. Bây giờ, chúng ta sẽ cùng tìm hiểu về các kiểu biến trong VBA để các bạn nắm rõ khi nào thì nên sử dụng loại biến nào nhé.
Combo chương trình học Excel và VBA giúp bạn nhân đôi hiệu quả làm việc
Trong cú pháp khai báo biến mà chúng mình đã từng hướng dẫn cho các bạn thì có một thành phần được gọi là Loại biến đối tượng và Loại biến giá trị. Chúng ta sẽ gắn biến đối tượng với các đối tượng đã có như các sheet, các workbook, hình khối,… trên file Excel. Còn về biến giá trị thì chúng ta sẽ gắn với các giá trị như Long, Integer, Double,…
Các kiểu giá trị dữ liệu trong VBA thì các bạn tham khảo trong bảng dưới đây nhé:
Kiểu giá trị | Loại dữ liệu | Phạm vi giá tri (Cách hiểu đơn giản) |
Byte | Number | Số nguyên từ 0 tới 255 |
Integer | Number | Số nguyên từ -32,768 tới 32,767 |
Long | Number | Số nguyên từ -2,1 tỷ tới 2,1 tỷ |
Single | Number | Lớn hơn Long nhưng tốn bộ nhớ bằng Long |
Double | Number | Lớn hơn Single gấp 100 lần nhưng tốn bộ nhớ gấp 2 |
Currency | Number | Giống Double nhưng giá trị nhỏ hơn, có phần thập phân |
Decimal | Number | Giống Double, có phần thập phân lớn, tốn bộ nhớ |
Boolean | Number | True hoặc False |
Date | Number | Tất cả các ngày |
Object | Number | Bất kỳ đối tượng nào |
String | Number | Bất kỳ ký tự nào, độ dài tới 65 nghìn ký tự |
Variant | Bất kỳ | VBA tự động nhận dạng loại dữ liệu nhưng tốn bộ nhớ hơn |
Việc khai báo biến trong VBA là không bắt buộc nhưng biến không khai báo thì đều được hiểu là dạng Variant dẫn đến tốn bộ nhớ, hoạt động chậm và dễ phát sinh lỗi. Để nhắc nhở bản thân về việc khai báo biến thì các bạn có thể bật chế độ quy định bắt buộc khai báo biến bằng cú pháp là Option Explicit.
Để thiết lập chế độ này cho tất cả các project trog VBA thì các bạn bấm vào Tools trong cửa sổ VBA rồi chọn Options. Tiếp theo các bạn bấm vào thẻ Editor trong hộp thoại Options rồi tích vào ô Require Variable Dedaration. Cuối cùng bấm vào OK là được.
Khi chế độ này hoạt động, nếu bạn không khai báo biến thì macro sẽ không hoạt động được.
Xem thêm: Macro trong Excel: Cấu trúc, cách dùng, cách dừng chạy và lưu file
Có 2 loại biến giá trị trong VBA là biến nhận giá trị cố định và biến nhận giá trị không cố định.
Biến nhận giá trị cố định là khi bạn gọi tên biến ra thì nó giữ nguyên một giá trị mà bạn đã gán vào từ ban đầu.
Ví dụ, chúng ta có biến i được gán giá trị vào ô A1 là số 5 như sau:
Sub Bien CoDinh()
Dim i As Integer
i = 5
Range ("A1").Value = i
End Sub
Biến nhận giá trị không cố định thì giá trị được gán cho nó không phải giá trị cụ thể mà có thể là một đoạn code nào đó. Đoạn code sẽ đại diện cho một nội dung để tính toán ra một giá trị. Mỗi khi VBA hoạt động thì đoạn code sẽ được tính lại và tạo ra một giá trị nào đó. Do đó giá trị của biến sẽ không cố định.
Ví dụ, chúng ta có biến LastRow không cố định như sau:
Sub Bien_KhongCoDinh()
Dim LastRow As Long
LastRow = Sheet1.Cells(Rows, Count, 1).End(xlUp)+1
Sheet1.Range("A"&LastRow).Value = Sheet2.Range("B2").Value
End Sub
Nội dung của dòng code này là lấy giá trị ở ô B2 trong Sheet2 vào dòng trống bên dưới dòng cuối cùng có dữ liệu, cột A trong Sheet 1.
Xem thêm: Hướng dẫn chi tiết cách sử dụng msgbox trong VBA Excel
Hy vọng bài viết của chúng mình đã cung cấp kiến thức hữu ích giúp các bạn làm quen với lập trình VBA dễ dàng hơn. Nếu các bạn muốn học trọn bộ cả kiến thức Excel và VBA thì hãy đăng ký combo chương trình học Excel và VBA nhé. Ngay khi đăng ký thành công, các bạn sẽ được nhận quà tặng là Ebook + Add In độc quyền của Gitiho và khóa học Thủ thuật Excel miễn phí. Chúc các bạn thành công!
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!