Kiểu dữ liệu Boolean VBA (Biến Dim)

Loại biến Boolean

Kiểu dữ liệu VBA Boolean được sử dụng để lưu trữ các giá trị Đúng hoặc Sai. Đúng cũng có thể được biểu thị bằng 1 và Sai bằng 0.

Để khai báo một biến Boolean, bạn sử dụng Câu lệnh Dim (viết tắt của Dimension):

1 Dim blnA trong vai Boolean

Sau đó, để gán giá trị cho một biến, bạn chỉ cần sử dụng dấu bằng:

1 blnA = Đúng

Khi bạn đặt nó trong một thủ tục, nó có thể trông như thế này:

123456789101112 Sub blnExample ()'khai báo biến booleanDim blnA trong vai Boolean'chạy mã để điền biến - thường mã là câu lệnh if hoặc caseNếu Phạm vi ("A1")> 0 thìblnA = trueKhácblnA = SaiKết thúc nếu'hiển thị hộp tin nhắnMsgBox "Kiểm tra xem ô có giá trị lớn hơn 0 hay không" & blnAKết thúc Sub

Nếu bạn chạy đoạn mã trên, hộp thông báo sau sẽ được hiển thị.

Khai báo biến Boolean ở cấp mô-đun hoặc cấp toàn cầu

Trong ví dụ trước, chúng tôi đã khai báo Boolean biến trong một thủ tục. Các biến được khai báo với một thủ tục chỉ có thể được sử dụng trong thủ tục đó.

Thay vào đó, bạn có thể khai báo các biến Boolean ở cấp độ mô-đun hoặc toàn cục.

Cấp độ mô-đun

Bạn tuyên bố Cấp mô-đun các biến ở đầu mô-đun mã với Lờ mờ tuyên bố.

Các biến này có thể được sử dụng với bất kỳ thủ tục nào trong mô-đun mã đó.

Cấp độ toàn cầu

Bạn cũng tuyên bố Cấp độ toàn cầu biến ở đầu mô-đun mã. Tuy nhiên, thay vì sử dụng Lờ mờ tuyên bố, bạn sẽ sử dụng Công cộng tuyên bố để chỉ ra rằng Boolean biến có sẵn để được sử dụng trong suốt Dự án VBA của bạn.

1 Public blnA với tư cách là Boolean

Nếu bạn khai báo Boolean biến ở cấp độ mô-đun và sau đó cố gắng sử dụng nó trong một mô-đun khác, bạn sẽ gặp lỗi.

Tuy nhiên, nếu bạn đã sử dụng từ khóa Public để khai báo Boolean biến, lỗi sẽ không xảy ra và thủ tục sẽ chạy hoàn hảo.

Sử dụng biến Boolean

Bạn sử dụng biến Boolean trong so sánh logic. Chúng thường được sử dụng với các câu lệnh If để kiểm tra xem một điều kiện là Đúng hay Sai theo ví dụ trên, hoặc trong một dòng mã để áp dụng kiểm tra logic - có lẽ để xem liệu một giá trị này có lớn hơn giá trị khác hay không.

12345678 Sub blnExample ()'khai báo biến booleanDim blnA As Boolean'kiểm tra xem một số có lớn hơn số tiếp theo khôngblnA = 45> 68'hiển thị hộp tin nhắnMsgBox blnAKết thúc Sub

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được hộp thông báo sau.

vì tất nhiên 45 không lớn hơn 68!

Sử dụng toán tử Boolean

Vì các biến Boolean được sử dụng trong so sánh logic, chúng ta có thể sử dụng các toán tử logic AND và OR để kiểm tra xem liệu nhiều hơn một điều kiện là đúng hay sai.

Sử dụng toán tử AND

Chúng ta có thể sử dụng hàm AND để xem liệu CẢ HAI điều kiện có được đáp ứng hay không.

12345678 Sub blnExample ()'khai báo biến booleanDim blnA As Boolean'sử dụng toán tử AND để kiểm tra xem cả hai điều kiện có đúng khôngblnA = 10> 13 Và 15> 12'hiển thị hộp tin nhắnMsgBox blnAKết thúc Sub

hoặc chúng tôi có thể chạy thử nghiệm tương tự bằng cách sử dụng Câu lệnh Nếu:

123456789101112 Sub blnExample ()'khai báo biến booleanDim blnA As Boolean'sử dụng toán tử AND để kiểm tra xem cả hai điều kiện có đúng khôngNếu 10> 13 và 15> 12 thìblnA = ĐúngKhácblnA = SaiKết thúc nếu'hiển thị hộp tin nhắnMsgBox blnAKết thúc Sub

Cả hai ví dụ trên sẽ trả về SAI do thực tế là 10 là KHÔNG PHẢI lớn hơn 13 - và CẢ HAI điều kiện phải là True để Boolean là True.

Sử dụng toán tử OR

Chúng ta có thể sử dụng hàm HOẶC để xem một trong các điều kiện có được đáp ứng hay không.

12345678 Sub blnExample ()'khai báo biến booleanDim blnA As Boolean'sử dụng toán tử AND để kiểm tra xem cả hai điều kiện có đúng khôngblnA = 10> 13 Hoặc 15> 12'hiển thị hộp tin nhắnMsgBox blnAKết thúc Sub

hoặc chúng tôi có thể chạy thử nghiệm tương tự bằng cách sử dụng Câu lệnh Nếu:

123456789101112 Sub blnExample ()'khai báo biến booleanDim blnA As Boolean'sử dụng toán tử AND để kiểm tra xem cả hai điều kiện có đúng khôngNếu 10> 13 HOẶC 15> 12 ThìblnA = ĐúngKhácblnA = SaiKết thúc nếu'hiển thị hộp tin nhắnMsgBox blnAKết thúc Sub

Những ví dụ này sẽ trở lại THẬT do thực tế là 10 KHÔNG lớn hơn 13 NHƯNG 15 LÀ lớn hơn 12 - vàCHỈ MỘT điều kiện phải là True để Boolean là True.

Sử dụng câu lệnh If cho phép chúng ta sử dụng các toán tử logic hơn

Sử dụng toán tử NOT

Chúng ta cũng có thể sử dụng toán tử NOT với biến Boolean. Toán tử NOT phủ định giá trị của điều kiện - vì vậy nếu một điều kiện là đúng, toán tử NOT sẽ trả về false.

12345678910111213141516 Sub FindDifferences ()'khai báo các biến phạm viDim rng1 As RangeDim rng2 As Range'kích hoạt trang mộtWorksheets ("Sheet1"). Kích hoạt'điền các phạm viĐặt rng1 = Range ("A3")Đặt rng2 = Range ("B3")'sử dụng toán tử NOT để xem các giá trị có bằng nhau hay không.If Not rng1.Value = rng2.Value ThenMsgBox "Giá trị trong các ô không bằng nhau"KhácMsgBox "Giá trị trong các ô bằng nhau"Kết thúc nếuKết thúc Sub

Sử dụng toán tử logic Xor

CácXor toán tử logic được sử dụng để so sánh hai hoặc nhiều điều kiện. Nếu một trong các điều kiện là true, nó sẽ trả về TRUE. Nếu có 2 điều kiện và KHÔNG ĐÚNG hoặc CẢ HAI ĐÚNG, nó sẽ trả về FALSE.

1234567891011121314151617 Sub blnExample ()'khai báo các số nguyênDim intA As IntegerDim intB As Integer'khai báo biến booleanDim blnResult As Boolean'điền các biếnintA = 5intB = 10'kiểm tra xem có đúng khôngNếu intA = 5 Xor intB = 5 ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếuMsgBox blnResultKết thúc Sub

Trong ví dụ trên, khi MỘT trong các điều kiện là ĐÚNG, hộp thông báo sẽ trả về THẬT.

1234567891011121314151617 Sub blnExample ()'khai báo các số nguyênDim intA As IntegerDim intB As Integer'khai báo biến booleanDim blnResult As Boolean'điền các biếnintA = 5intB = 5'kiểm tra xem có đúng khôngNếu intA = 5 Xor intB = 5 ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếuMsgBox blnResultKết thúc Sub

Tuy nhiên, trong ví dụ trên, khi cả hai điều kiện là đúng, hộp thông báo sẽ trả về SAI.

1234567891011121314151617 Sub blnExample ()'khai báo các số nguyênDim intA As IntegerDim intB As Integer'khai báo biến booleanDim blnResult As Boolean'điền các biếnintA = 6intB = 8'kiểm tra xem có đúng khôngNếu intA = 5 Xor intB = 5 ThìblnResult = ĐúngKhácblnResult = SaiKết thúc nếuMsgBox blnResultKết thúc Sub

và cuối cùng, vì cả hai điều kiện đều FALSE, hộp thông báo cũng sẽ trả về FALSE.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave