VBA AND Function

Excel VBA AND Function

AND is a logical function as well as a logical operator which means that if all the conditions provided in this function are fulfilled then only we will have the true result whereas if any one of the condition fails the output is returned to be false, we have inbuilt AND command in VBA to use.

I hope you have gone through our article on “VBA ORVBA OROr is a logical function in programming languages, and we have an OR function in VBA. The result given by this function is either true or false. It is used for two or many conditions together and provides true result when either of the conditions is returned true.read more” and “VBA IF ORVBA IF ORIF OR is not a single statement; it is a pair of logical functions used together in VBA when we have more than one criteria to check, and when we use the if statement, we receive the true result if either of the criteria is met.read more.” This function is just the opposite of the OR function. In the OR function, we needed anyone of the supplied logical conditions to be satisfied to get the result as TRUE. But in the AND function, it is just the reverse. In order to get the result of TRUE, all the supplied logical tests in excelLogical Tests In ExcelA logical test in Excel results in an analytical output, either true or false. The equals to operator, “=,” is the most commonly used logical test.read more need to be satisfied.

Ok, look at the syntax of the AND function in excelAND Function In ExcelThe AND function in Excel is classified as a logical function; it returns TRUE if the specified conditions are met, otherwise it returns FALSE.read more.

[Logical Test] AND [Logical Test] AND [Logical Test]
AND function 1

In the above, I have two test scores out of 600.

In the result column, I need to get the result as TRUE if the score of both the tests is greater than equal to 250.

Look at the below image.

AND function 1-1

When we apply the logical function AND we got the results. In cell C4 & C5, we got the result as TRUE because Test 1 & Test 2 scores are greater than or equal to 250.

Look at the C6 cell here. We have got FALSE even though the score of Test 2 is equal to 250. This is because, in Test 1, the score is only 179.

Examples to Use VBA And Function

You can download this VBA AND Excel Template here – VBA AND Excel Template

Example #1

For example, we will test the numbers here, whether 25>=20 and 30<=31.

Step 1: Declare the variable as String.


Sub AND_Example1()

  Dim K As String

End Sub
VBA AND Example 1-3

Step 2: For the variable “k,” we will assign the value by applying the AND function.


Sub AND_Example1()

  Dim K As String

  K =

End Sub
VBA AND Example 1-2

Step 3: Supply the first condition as 25>=20.


Sub AND_Example1()

  Dim K As String

  K = 25 >= 20

End Sub
Example 1-4

Step 4: Now open AND function and supply the second logical test i.e., 30<=29.


Sub AND_Example1()

  Dim K As String

  K = 25 >= 20 And 30 <= 29

End Sub
Example 1-5

Step 5: Now show the result of the variable “k” in the message box in VBAMessage Box In VBAVBA MsgBox function is an output function which displays the generalized message provided by the developer. This statement has no arguments and the personalized messages in this function are written under the double quotes while for the values the variable reference is provided.read more.


Sub AND_Example1()

  Dim K As String

  K = 25 >= 20 And 30 <= 29

  MsgBox K

End Sub
Example 1-6

Run the macro to see what the result is.

VBA AND Example 1-7

We got the result as FALSE because we out of applied two conditions, first condition 25>=20, this condition is satisfied, so the result is TRUE, and the second condition 30<=29 this is not satisfied result is FALSE. In order to get the result as TRUE, both the conditions should be satisfied.

Example #2

Now I will change the logical test to “100>95 AND 100<200.”


Sub AND_Example2()

  Dim k As String

  k = 100 > 95 And 100 < 200

  MsgBox k

End Sub

Run the code to see the result.

VBA AND Example 2

Here we got TRUE as a result because

1st Logical Test: 100 > 95 = TRUE

2nd Logical Test: 100 < 200 = TRUE

Since we got the TRUE results for both the logical tests, our final result as TRUE.

Example #3

Now we will see data from the worksheet. Use the data that we have used to show the example of excel AND function.

Example 3

Here the condition is Test 1 Score >= 250 AND Test 2 Score >= 250.

Since we have more than one cell of data, we need to use loops to avoid writing unnecessary and time-consuming lines of codes. I have written the below code for you; formula and logic are the same only thing is I have used “VBA For Next LoopVBA For Next LoopAll programming languages make use of the VBA For Next loop. After the FOR statement, there is a criterion in this loop, and the code loops until the criteria are reached. read more.”


Sub AND_Example3()

  Dim k As Integer

  For k = 2 To 6
   Cells(k, 3).Value = Cells(k, 1) >= 250 And Cells(k, 2) >= 250
  Next k

End Sub

This will give the result exactly the same as our worksheet function, but we will not get any formulas. We get only results.

VBA AND Example 3-1

Like this, we can apply the AND logical function to test multiple conditions, which are all should be TRUE to arrive at the desired results.

This works completely opposite of OR function, where OR requires any one of the supplied condition to be TRUE to arrive the results but AND requires 100% result in a logical test to arrive the results.

Recommended Articles

This has been a guide to VBA AND Function. Here we learn how to use AND logical operator with practical examples and download an excel template. You may also have a look at other articles related to Excel VBA –

  • 3 Courses
  • 12 Hands-on Projects
  • 43+ Hours
  • Full Lifetime Access
  • Certificate of Completion