Biến thể VBA | Làm thế nào để khai báo kiểu dữ liệu biến thể trong Excel VBA?
Kiểu dữ liệu biến thể VBA trong Excel
Kiểu dữ liệu biến thể trong VBA là kiểu dữ liệu phổ quát có thể chứa bất kỳ loại kiểu dữ liệu nào, nhưng trong khi gán kiểu dữ liệu, chúng ta cần sử dụng từ “Biến thể”.
Tất cả chúng ta đều biết các biến quan trọng như thế nào trong các dự án VBA. Khi biến được khai báo, chúng ta cần gán một kiểu dữ liệu cho các biến đã khai báo. Việc gán kiểu dữ liệu trong VBA phụ thuộc vào loại dữ liệu mà chúng ta cần gán cho các biến đã khai báo.
Để biết ví dụ, hãy xem đoạn mã dưới đây.
Trong đoạn mã trên, tôi đã khai báo biến là “Số nguyên” và tôi đã gán kiểu dữ liệu là “Số nguyên” .
Trước khi gán kiểu dữ liệu cho biến, tôi nên biết những hạn chế của biến. Vì tôi đã gán kiểu dữ liệu là Số nguyên nên biến của tôi có thể chứa các số từ -32768 đến 32767.
Bất cứ điều gì nhiều hơn giới hạn của kiểu dữ liệu giới hạn nó sẽ gây ra lỗi. Vì vậy, nếu chúng ta muốn lưu trữ nhiều hơn giá trị 32767, chúng ta cần chỉ định kiểu dữ liệu khác có thể chứa nhiều hơn 32767.
Để khắc phục hạn chế này, chúng tôi có kiểu dữ liệu chung là "Biến thể". Bài viết này sẽ chỉ cho bạn hướng dẫn đầy đủ về kiểu dữ liệu Biến thể.
Làm thế nào để khai báo kiểu dữ liệu biến thể?
Chúng ta có thể khai báo kiểu dữ liệu biến thể như kiểu dữ liệu thông thường, nhưng trong khi gán kiểu dữ liệu, chúng ta cần sử dụng từ “Biến thể”.
Mã:
Sub Variant_Example1 () Dim MyNumber làm biến thể End Sub
Điều này làm cho biến để hoạt động bất kỳ loại dữ liệu nào ngay bây giờ. Chúng tôi có thể gán bất kỳ số, chuỗi, ngày tháng và nhiều thứ khác.
Dưới đây là minh chứng của điều tương tự.
Mã:
Sub Variant_Example1 () Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "January" MyDate = "24-04-2019" MyNumber = 4563 MyName = "Tên tôi là Excel VBA" End Sub
Ở trên, tôi đã gán ngày tháng cho biến, số cho biến, một chuỗi cho biến. Vì vậy, kiểu dữ liệu Variant cho phép chúng ta không phải lo lắng về loại dữ liệu mà chúng ta sẽ lưu trữ hoặc gán cho nó.
Ngay sau khi chúng tôi khai báo một biến là Biến thể, chúng tôi không phải lo lắng về kiểu dữ liệu của chúng tôi ở đâu đó giữa dự án trong khi mã hóa. Điều này làm cho biến số hoạt động linh hoạt theo nhu cầu của chúng ta. Có thể với một biến duy nhất, chúng ta có thể thực hiện các hoạt động của mình trong toàn bộ dự án.
Biến thể VBA không yêu cầu cách rõ ràng
Thủ tục chung để khai báo một biến VBA trước tiên là đặt tên cho biến và sau đó gán kiểu dữ liệu cho nó. Dưới đây là một ví dụ tương tự.
Đây là cách khai báo biến rõ ràng. Tuy nhiên, khi chúng ta khai báo kiểu dữ liệu Variant, chúng ta không cần phải khai báo chúng một cách rõ ràng thay vào đó chúng ta có thể chỉ cần đặt tên cho biến và bỏ đi phần kiểu dữ liệu.
Mã:
Sub Variant_Example1 () Dim MyNumber End Sub
Trong đoạn mã trên, tôi đã đặt tên biến là “MyNumber” nhưng sau khi đặt tên biến, tôi đã không gán bất kỳ loại kiểu dữ liệu nào cho nó.
Tôi đã bỏ qua phần Như [Tên kiểu dữ liệu] vì thời điểm chúng ta bỏ qua phần gán kiểu dữ liệu thì biến luôn trở thành Biến thể.
Những điều cần ghi nhớ
Mặc dù kiểu dữ liệu “Biến thể” linh hoạt với dữ liệu mà chúng tôi sẽ lưu trữ, đây không phải là kiểu dữ liệu phổ biến. Trông lạ nhưng hoàn toàn là SỰ THẬT. Trừ khi có bất kỳ lý do cụ thể nào để sử dụng, mọi người tránh sử dụng kiểu dữ liệu này. Dưới đây là một số lý do để tránh sử dụng Biến thể.
- Nó bỏ qua tất cả các lỗi không khớp dữ liệu.
- Kiểu dữ liệu biến thể giới hạn chúng tôi truy cập vào danh sách IntelliSense.
- VBA luôn đoán kiểu dữ liệu tốt nhất có thể và gán cho phù hợp.
- Trong trường hợp giới hạn kiểu dữ liệu Số nguyên Kiểu dữ liệu biến thể không thông báo cho chúng tôi thời điểm nó vượt qua giới hạn 32767.