Đây là một câu hỏi về phạm vi .
Nếu bạn chỉ muốn các biến kéo dài trọn đời của hàm, hãy sử dụng Dim
(viết tắt của Dimension ) bên trong hàm hoặc phụ để khai báo các biến:
Function AddSomeNumbers() As Integer
Dim intA As Integer
Dim intB As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are no longer available since the function ended
Một biến toàn cục (như SLaks đã chỉ ra) được khai báo bên ngoài hàm bằng Public
từ khóa. Biến này sẽ có sẵn trong suốt vòng đời của ứng dụng đang chạy của bạn. Trong trường hợp của Excel, điều này có nghĩa là các biến sẽ có sẵn miễn là sổ làm việc Excel cụ thể đó được mở.
Public intA As Integer
Private intB As Integer
Function AddSomeNumbers() As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are still both available. However, because intA is public, '
'it can also be referenced from code in other modules. Because intB is private,'
'it will be hidden from other modules.
Bạn cũng có thể có các biến chỉ có thể truy cập được trong một mô-đun (hoặc lớp) cụ thể bằng cách khai báo chúng bằng Private
từ khóa.
Nếu bạn đang xây dựng một ứng dụng lớn và cảm thấy cần phải sử dụng các biến toàn cục, tôi khuyên bạn nên tạo một mô-đun riêng cho các biến toàn cục của mình. Điều này sẽ giúp bạn theo dõi chúng ở một nơi.