Skip to main content

New Article

How to SUM by matching partial text in Excel

IF statement example in Excel VBA

For better understanding the IF statement, here I would like to share an example.


The Problem?

Assume that, You have a sample Bangladesh Mobile Market Share Report of January 2028 like below (I would add here, these information are fake for security purpose).

Image 1: Sample data

Now you need to calculate the market share Percentage (%) both in volume and value and rank them based on Percentage (%). Note that, the Percentage (%) should examine with certain ranges. These are: if above 30%, then "A+", if above 25%, then "A", if above 20%, then "B+", if above 15%, then "B", if above 10%, "C+", if above 5%, then "C" if less than 5%, then "D" and Background color will also changed based on Grade achievement.

You can easily do it in Simple Excel. But here I would like to do it in Excel VBA.


The Solution:

First of all make a checklist about what we have to do:
1. Table designing
2. Market Share calculation
3. Grading the market share % and change Background Color


1. Table Designing:

I'v designed the table as below:

Image 1: Table design


2. Market Share Calculation:

To calculate the Market Share use the below codes for Vol Share % and Val Share %:


Option Explicit

Sub mobile_analyze()
  Dim x As Long
  Dim y As Double
  Dim z As Integer
  For z = 7 To 15
     'Volume share % calculation
      y = Cells(z, 3) / Cells(15, 3)
      Cells(z, 4).Value = y
      Cells(z, 4).NumberFormat = "#,##0.00%"
    
      'Value share % calculation
       y = Cells(z, 6) / Cells(15, 6)
       Cells(z, 7).Value = y
       Cells(z, 7).NumberFormat = "#,##0.00%"
   Next z
End Sub



3. Grading the market share % and change Background Color:

To calculate the Grade, you need to use IF statement. And under each IF statement change the background color like below final code:


Option Explicit
   Sub mobile_analyze()
      Dim x As Long
      Dim y As Double
      Dim z As Integer

      For z = 7 To 15
 
        'Volume share % calculation
         y = Cells(z, 3) / Cells(15, 3)
         Cells(z, 4).Value = y
         Cells(z, 4).NumberFormat = "#,##0.00%"

        'Value share % calculation
         y = Cells(z, 6) / Cells(15, 6)
         Cells(z, 7).Value = y
         Cells(z, 7).NumberFormat = "#,##0.00%"

        'Volume Grade Calculation
         If Cells(z, 4) = 1 Then
            Cells(z, 5).Value = ""
         ElseIf Cells(z, 4) >= 0.3 Then
            Cells(z, 5).Value = "A+"
            Cells(z, 5).Interior.Color = RGB(230, 101, 234)
         ElseIf Cells(z, 4) >= 0.25 Then
            Cells(z, 5).Value = "A"
            Cells(z, 5).Interior.Color = RGB(230, 141, 234)
         ElseIf Cells(z, 4) >= 0.2 Then
            Cells(z, 5).Value = "B+"
            Cells(z, 5).Interior.Color = RGB(230, 157, 234)
         ElseIf Cells(z, 4) >= 0.15 Then
            Cells(z, 5).Value = "B"
            Cells(z, 5).Interior.Color = RGB(230, 175, 234)
         ElseIf Cells(z, 4) >= 0.1 Then
            Cells(z, 5).Value = "C+"
            Cells(z, 5).Interior.Color = RGB(230, 199, 234)
         ElseIf Cells(z, 4) < 0.1 Then
            Cells(z, 5).Value = "D"
            Cells(z, 5).Interior.Color = RGB(230, 218, 234)
         End If

         'Value Grade Calculation
         If Cells(z, 7) = 1 Then
            Cells(z, 8).Value = ""
         ElseIf Cells(z, 7) >= 0.3 Then
            Cells(z, 8).Value = "A+"
            Cells(z, 8).Interior.Color = RGB(11, 232, 250)
         ElseIf Cells(z, 7) >= 0.25 Then
            Cells(z, 8).Value = "A"
            Cells(z, 8).Interior.Color = RGB(71, 232, 250)
         ElseIf Cells(z, 7) >= 0.2 Then
            Cells(z, 8).Value = "B+"
            Cells(z, 8).Interior.Color = RGB(177, 232, 250)
         ElseIf Cells(z, 7) >= 0.15 Then
            Cells(z, 8).Value = "B"
            Cells(z, 8).Interior.Color = RGB(193, 232, 250)
         ElseIf Cells(z, 7) >= 0.1 Then
            Cells(z, 8).Value = "C+"
            Cells(z, 8).Interior.Color = RGB(217, 232, 250)
         ElseIf Cells(z, 7) < 0.1 Then
            Cells(z, 8).Value = "D"
            Cells(z, 8).Interior.Color = RGB(236, 232, 250)
         End If
      Next z
   End Sub



The Result:

After entering the above final code into the Module, press F5 or Click on Play to run it. The result will display as below:

Image 3: Result


|||| Please SUBSCRIBE our YouTube Channel ||||
https://www.youtube.com/channel/UCIWaA5KCwZzBGwtmGIOFjQw

Popular posts from this blog

How to display an image in worksheet based on a List or based on IF condition?

Excel can show image on worksheet based on a specific IF condition. So, how to do it? Simple follow the below steps: Step by Step: Step 1: Insert images in your Excel Worksheet. Here I've inserted 5 different types of balls, Football, Cricket, Pool, Basketball, Tennis ball. Note that, All balls are placed into different cell. These are placed in Picture sheet. Image 1: 5 balls placed in 5 different cells and covered photo's wide and height Step 2: In the report sheet, design the report as you wish. I've designed in my way like below: Image 2: Kids asking to Donald Duck, which ball need to throw now Step 3: Make a drop down list "Games" in E6 cell in Report sheet from Data Validation. which is as below: Football Cricket Pool Basketball Tennis You can do an IF function here in E6 in Report sheet, which will meet a certain condition and returned Football, Cricket, Pool, Basketball or Tennis. Step 4: Now the tricky part is...

Cumulative Closing Balance like a Bank Statement in PivotTable

A Bank Employee in many case needs to calculate the Closing Balance after each transaction in PivotTable like a Bank Statement . But with the help of Calculated Field of a PivotTable , you can only calculate Field with Field . It's not possible to use a formula in Calculated Field where you can mention a single cell with Relative Reference Cell . Because a PivotTable acts like a Table format where you can work with Field or Column Name . A Helping Column (A regular column, that helps to get a partial result where formula applied) can be a good idea. But there is an option in PivotTable by which you can Calculate Cumulative . In this article I will show you, how you can do it. Calculating with Formula: Assume that, you have an Excel file with Debit and Credit transaction of an Account . Image 1: Sample Bank Statement In a Bank Statement , Month wise Cumulative Balance is important. In the Excel sheet, as above, it is very easy to use a formula and calc...

Value Paste and Formula Paste

In many case, in our professional life, we need to do Copy and Value Paste or Copy and Formula Paste in all most always. Those employees, who works under MIS Department, have to do it lots of time in a single day to prepare reports. It is very time costing task in Office. Many of us use Excel Menubar to do it, others are using Keyboard Shortcut by pressing ALT key (like for Value Paste Press ALT+H+V+V and for Formula Paste Press ALT+H+V+F ). But did you noticed that, these two ways strongly need your attention to do this task. More clearly, if you choose Value Paste from Menubar , then what you need to do? First you should take the mouse in Hand Wheel the mouse in Home menu Then Click on Paste Then you pressure your eyes to find the Value Paste icon And then Click on it to paste it These all steps can take more than 1 second. Am I right? Below is an image of this process: Image 1: Value Paste from Home Menu On the other hand, if you choose the shortcut f...