Giá trị của Pi là 3,14, lực hút của Trái đất là 9,8 m / s ^ 2 ^, bạn quan tâm đến VBA, v.v. Tất cả đều là hằng số và chúng không thay đổi.

image

Trong VBA, bạn có thể xác định các biến có giá trị không thể thay đổi trong chương trình. Lập trình viên VBA tự định nghĩa các giá trị hằng số này trong chương trình để sử dụng chúng nhiều lần.

Làm thế nào để xác định một giá trị không đổi trong VBA? Chúng tôi sử dụng từ khóa Const * để khai báo một hằng số trong VBA.

Cú pháp khai báo một biến hằng trong VBA là:

[<Scope Specifier>] Const <VarName> as <variable_type> = <value>

Lưu ý: Chúng tôi không bao giờ sử dụng từ khóa Dim để khai báo một hằng số trong VBA.

<VarName>: Là tên của biến hằng số.

<variable_type>: Kiểu của hằng số. Ví dụ: Số nguyên, Chuỗi, Ngày, v.v.

<value>: * Giá trị của biến hằng số.

Một ví dụ đơn giản về Biến hằng số là:

Const pi as double = 3.14

Ở đây chúng ta đã khai báo giá trị hằng số của pi trong một biến có tên_pi_. Bây giờ chúng tôi có thể sử dụng pi này trong chương trình của chúng tôi. Giá trị sẽ luôn là 3,14. Nếu bạn cố gắng thay đổi giá trị của một biến hằng số, Excel VBA sẽ bật lên thông báo lỗi.

Ví dụ về biến hằng số VBA Nghiên cứu đoạn mã dưới đây:

Const pi As Double = 3.14

Const rad As Double = 6371

Sub Earth()

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Sub Mars()

rad = 3389.5

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Ở đây, chúng tôi đã xác định hai hằng số, pi và rad. Giá trị của pi là 3,14 và rad là 6371 là bán kính trái đất.

Bây giờ, khi chúng tôi chạy con đầu tiên của Trái đất, nó hoạt động hoàn toàn tốt và in diện tích bề mặt của Trái đất.

Trong sao Hỏa phụ tiếp theo, chúng tôi xác định lại hằng số rad vì bán kính của sao Hỏa khác nhau. Khi chúng tôi chạy chương trình này, chương trình sẽ báo lỗi “Không được phép gán cho hằng số”.

image

Cách khởi động lại một hằng số trong VBA

Như bạn đã thấy trong ví dụ trên, chúng tôi không thể gán giá trị mới cho một hằng số. Vâng bạn có thể.

Nhưng nếu bạn vẫn cần sử dụng cùng một tên với một giá trị cố định khác, chỉ cần sử dụng từ khóa Const * trước lệnh gán.

Đoạn mã dưới đây sẽ hoạt động hoàn hảo.

Const pi As Double = 3.14

Const rad As Double = 6371

Sub Earth()

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Sub Mars()

Const rad = 3389.5

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Chương trình con trên sẽ hoạt động hoàn hảo mà không có bất kỳ lỗi nào. Nhưng tôi không khuyến khích cách tiếp cận này. Cách tốt nhất là xác định các hằng số public và private và định nghĩa chúng một cách riêng biệt. Và điều này đưa chúng ta đến phân đoạn tiếp theo.

Hằng số Công khai và Riêng tư trong VBA Như chúng ta đã học trong các ví dụ trên, một số hằng số có thể phổ biến và một số có thể khác nhau đối với các đối tượng khác nhau. Giống như, giá trị pi là không đổi đối với toàn bộ vũ trụ, nhưng số lượng hành tinh từ hệ mặt trời đến hệ mặt trời và bán kính của các hành tinh khác nhau giữa hành tinh.

Vì bán kính của Trái đất là không đổi đối với nó, không phải đối với vũ trụ.

Tương tự, trong các chương trình, sẽ có một số hằng số sẽ là private đối với sub’s và module và một số sẽ là hằng số công khai cho toàn bộ dự án VBA. Công việc của bạn là xác định chúng và khai báo chúng khác nhau.

Hãy lấy một ví dụ khác:

Public Const pi As Double = 3.14     ' This can be accessed from any module in the project

Private Const planets As Integer = 8 ' this is private to this module

Sub Earth()

Const rad As Double = 6371    'Private to this subroutine. Can't be accessed outside

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Sub Mars()

Const rad As Double = 3389.5 'Private to this subroutine. Can't be accessed outside

sArea = 4  pi  Sqr(rad)

Debug.Print sArea

End Sub

Đây là một phạm vi biến đơn giản chỉ định. Bạn có thể đọc về cài đặt phạm vi biến liên kết: / general-themes-in-vba-excel-vba-variable-scope [chi tiết tại đây].

Vì vậy, các bạn, đây là cách bạn khai báo và sử dụng hằng số trong Excel VBA. Tôi đã cố gắng giải thích một cách sáng tạo. Tôi hy vọng tôi đã giải thích đủ. Nếu bạn có bất kỳ nghi ngờ nào, hãy hỏi trong phần bình luận bên dưới. Tôi sẽ rất vui khi nghe và trả lời bạn.

Bài viết liên quan:

Bài viết phổ biến:

Chức năng Countif là cần thiết để chuẩn bị bảng điều khiển của bạn.