×

Miscellaneous Exercise of conditional statements and Loop

We have the already worked with syntax and examples of conditional statements and loops in the previous tutorials. In this tutorial, we will learn how to work with both together.  We will explain how to run the loops based on objectives and will try to develop logic as per the specified criteria. In VBA or any other programming language, the whole game is based on logic. There are many ways to solve or encounter any task. The smarter you thought and built the logic, the shorter the code becomes, and hence, increasing the productivity of the code.

In the below, we have given some examples, try to solve them first without looking at the solutions. Your code may be lengthy at first, but slowly you will gain pace and learn how to code to the point and become a VBA developer.

NOTE: Always try to use fewer variables while programming.

Example 1

Objective: Categorize the student’s basis on the criterion given below

  • Less Than 100 - Fail
  • Between 100 & 150 - Pass
  • More than 150 Excellent
Sub Miscellaneous_Example1()
 Dim rng As Range
 Dim cell As Range
 Set rng = Range("E2:E11") 
     'rng is a Range collection and For-Each is moving into each cell of rng collection
     For Each cell In rng
          ‘nested-if to check for the various conditions 
         If cell < 100 Then
             Cells(cell.Row, 6) = "Fail"
         ElseIf cell >= 100 And cell <= 150 Then 
             Cells(cell.Row, 6) = "Pass"
         ElseIf cell > 150 Then
             Cells(cell.Row, 6) = "Excellent"
         End If
     Next
 End Sub 

Output: Press F5 for the output (for sone laptops press function+f5). You will get the following output

Name Physics English Math Total Result
Itrat Zaidi 12 57 11 80 Fail
Thomas A. Edison 41 38 11 90 Fail
Charles Wait 74 45 14 133 Pass
Benazir Mohamad 95 65 67 227 Excellent
Thomas R. Butkus 67 38 28 133 Pass
Illas Booda 88 19 95 202 Excellent
Craig E. Dahl 41 63 74 -178 Fail
Robert D. Gecht 35 44 10 89 Fail
Waandy Riitar 90 62 91 243 Excellent
Randy Newman 51 74 32 157 Excellent

Example 2 (Mostly Asked Interview Question).

Objective:  Print Pyramid Pattern and write a macro that creates pyramid using VBA:

Sub Miscellaneous_Example2()
 Dim r As Byte
 Dim col As Byte
     ‘will put off the gridlines from the excel sheet.
     ActiveWindow.DisplayGridlines = False 
 For r = 1 To 5 
 ‘step 1: r=1, col 5 to 5: code will run once, hence printing * once at cell (1,5) position.
 ‘step 2: r=2, col 4 to 6: code will run thrice, hence printing * three times at cell (2, 4), cell (2,5), cell (2,6)
 ‘step 3: r=3, col 3 to 7: code will run five times, hence printing * five times at cell (3,3), cell (3,4), cell (3,5), cell (3,6), cell (3,7)
 ‘step 4: : r=4, col 2 to 8: code will run seven times, hence printing * seven times at cell (4,2), cell (4,3), cell (4,4), cell (4,5), cell (4,6), cell (4,7), cell (4,8) 
 ‘step 5: : r=5, col 1 to 9: code will run five times, hence printing * five times at cell (5,1), cell (5,2), cell (5,3), cell (5,4), cell (5,5), cell (5,6), cell (5,7), cell (5,8) position.
     For col = 5 - r + 1 To 4 + r
         Cells(r, col).Value = "*"
     Next
 Next
 End Sub 

Output: Press F5 for the output (for sone laptops press function+f5). You will get the following output

                    *               
               *    *    *           
          *    *    *    *    *       
     *    *    *    *    *    *    *   
*    *    *    *    *    *    *    *    *

Miscellaneous Exercise of conditional statements and Loop2

Example 3

Objective:  Write a loop procedure that Fills the table as shown in the image on the right:

Column "S.No" will go from 1 to 27 and Column "Name" will have "Name+SlNo (i.e. Name1, Name2)

                       > If the "Sl.No" is greater than 20, highlight the cells of column B in Blue,

                       > If the "SI.No" is greater than 15, highlight the cells of column A in Green

Sub Miscellaneous_Example3()
 Dim rw As Byte
  For rw = 1 To 25                      'Loop runs 10 times as the upperbound is set to 10
         Cells(rw, 1) = rw
         Cells(rw, 2) = "Name" & rw
         If rw > 15 Then
             Range("A" & rw).Interior.Color = vbBlue 
             If rw > 20 Then
                 Range("B" & rw).Interior.Color = vbGreen
             End If
         End If
     Next 
 End Sub 

Output: Press F5 for the output (for sone laptops press function+f5). You will get the following output

1 Name1
2 Name2
3 Name3
4 Name4
5 Name5
6 Name6
7 Name7
8 Name8
9 Name9
10 Name10
11 Name11
12 Name12
13 Name13
14 Name14
15 Name15
16 Name16
17 Name17
18 Name18
19 Name19
20 Name20
21 Name21
22 Name22
23 Name23
24 Name24
25 Name25
26 Name26
27 Name27
Miscellaneous Exercise of conditional statements and Loop3

Related Topics

Excel VBA TimeValue Function

Excel VBA TimeValue Function: The TimeValue function in VBA returns a Time from the specified String interpretation of a time /date where the date information for the given string is...

1 minute read.

Excel VBA FormatDateTime Function

VBA FormatDateTime Function: The FormatDateTime function in VBA returns the result as a string after applying a date and/or time format to the supplied expression. Syntax FormatDateTime (Expression, [NamedFormat]) Parameter Expression (specified) – This parameter...

2 minutes read.

Excel VBA For Each Loop

A For Each loop executes a statement or a group of statements for each element in an array or collection. It repeats the statement/condition/code for each element in a collection. For Each Loops loop through every...

4 minutes read.

Excel VBA CDec Function

VBA CDec Function: The CDec function in VBA converts an expression into a Decimal data type. Syntax CDec (Expression) Parameter Expression (required) – This parameter represents the expression that you want to convert to a...

1 minute read.

Excel VBA Hour Function

The hour function in VBA returns the hour element for the specified time. Syntax Hour (Time) Parameter Time (required) – This parameter represents the time. Return This function returns the hour element for the specified time. Example 1 Sub HourFunction_Example1() ...

1 minute read.

Excel VBA LTrim Function

VBA LTrim Function: The LTrim function in VBA removes the leading spaces from a supplied text string. Syntax LTrim (String) Parameter String (required) - This parameter represents he text string that you want to remove...

1 minute read.

Excel VBA Sin Function

VBA Sin Function: The Sin function in VBA returns the sine value for a supplied angle. Syntax Sin (Number) Parameter Number (required) –This parameter represents the angle (in radians) to calculate the sine value. Return This function...

1 minute read.

Excel VBA IsError Function

VBA IsError Function: The IsError function in VBA returns a Boolean value showing whether the specified Expression represents an error or not. Syntax IsError (Expression) Parameter Expression (required)- This parameter represents the variant that you...

1 minute read.

Excel VBA IsMissing Function

VBA IsMissing Function: The IsMissing function in VBA checks if any parameter to a procedure is missing or not. It returns a Boolean value True if the specified parameter has not been...

1 minute read.

Debugging in Excel VBA

Debugging in VBA: Debugging is a technique used to fix errors in programming languages. In Excel VBA, we have different ways by which you can identify the error in the...

2 minutes read.

Excel VBA CCur Function

The CCur function in VBA is used to convert an expression into a Currency data type. It can take a maximum of 15 digits to the left of the decimal place and...

1 minute read.

Excel VBA Len Function

VBA Len Function: The Len function in VBA returns the number of characters in a supplied string or the number of bytes required to store a supplied variable. Syntax Len (Expression) Parameter Expression (required)-...

1 minute read.

VBA Find Function

VBA Find Function The Excel VBA FIND function finds any information in your Excel. It can be used on a Range object on the worksheet. It works the same, unlike the Excel Find &...

6 minutes read.

VBA runtime error 1004

What is 1004 error?  VBA 1004 Error, also known as object-defined or application-defined, is a runtime error in VBA, usually, if the specified range does not exist in the worksheet or if the Application...

6 minutes read.

Excel VBA Fix Function

VBA Fix Function: The Fix function in VBA truncates the given number to an integer and returns the rounded off integer number. This function both positive and negative numbers to zero. Syntax Fix...

1 minute read.

Excel VBA DateAdd Function

The DateAdd function in VBA adds a time interval to a supplied date and/or time and returns the resultant date/time. Syntax Dateadd (Interval, Number, Date) Parameter Interval (required) – This parameter a string specifying the interval to be...

1 minute read.

VBA Pivot Table Grouping

VBA- Pivot Table Grouping For an instance, if in our pivot table, we have 11 different age groups from 20 to 30 -  but there might be a possibility that we...

2 minutes read.

Introduction to Visual Basic Editor Window

How to enable the Developer Ribbon Tab? In order to work with VBA, users need to make a small change in Excel to display a new tab (Developer) at the top of the...

5 minutes read.

Excel VBA Right Function

VBA Right Function: The Right function in VBA returns a substring from the end of the given string. Syntax Right (Str, Length) Parameter Str (required) – This parameter represents the string from which you want to...

1 minute read.

Excel VBA Error Function

VBA Error Function: The Error function in VBA returns the error message corresponding to a supplied error code. Syntax Error ([ErrorNumber]) Parameter ErrorNumber (optional) – This parameter represents the required error number. By default, the...

1 minute read.