Mohammad Shah Miran

About author

Mohammad Shah Miran has a professional background spanning over a year at Softeko. Initially starting as an Excel and VBA writer, he authored more than 50 articles for the ExcelDemy project. Currently, Miran is engaged in the LinuxSimply project as a Linux content developer, completed over 40 articles. His analytical approach extends across various domains, including Excel, VBA, Bash scripting, Linux, data analysis, and Python programming. In his leisure time, Miran enjoys watching movies and series or listening to music.


Linux Content Developer Executive, SOFTEKO.

Lives in

Adabor, Dhaka 1207, Bangladesh.


BSc. in  Naval Architecture and Marine Engineering, Bangladesh University of Engineering and Technology (BUET).


Analytical Writing, Linux, Ubuntu, Programming Language (Python, C++, VBA,  Bash Scripting), Tools & Technologies (NumPy, Pandas, Machine Learning), AutoCAD, Microsoft Office.


  • Currently working as a Linux Content Developer Executive at SOFTEKO since May 2023.
  • VBA & Excel Content Developer Executive at SOFTEKO (November 2022 – April 2023).
  • Former Intern at Khulna Shipyard Limited. ( January 2020-February 2020).

Research & Publication

  • Design of 155 TEU Inland Container Vessel on Dhaka to Chattogram Route: As a part of my undergraduate course requirement, I along with my other two group members designed a full-fledged inland Container Ship and its associated design calculations like General Arrangement, Lines Plane, Detailed Weight Calculation, Hall Modelling, Stability Analysis, Engine, and Propulsion Design, etc.
  • A Comparative Linear Buckling Analysis of Different Isotropic Plates with and without Stiffeners for Different Boundary Conditions: The dissertation investigates modeling and linear buckling analysis of stiffened and unstiffened rectangular isotropic plates of four different types of isotropic materials for two different boundary conditions through a series of comparative studies in ANSYS 2022. The results are validated with the theoretical approach proposed by Timoshenko Gera.

Latest Posts From Mohammad Shah Miran

How to Create Approval Workflow in Excel (with Easy Steps)

Imagine you are in a team but the situation does not go in favor of you and your team members that you hardly communicate with them. So how will you share your ...

How to Use VBA Code for Creating Digital Clock in Excel

Sometimes you find yourself in a difficult situation because your deadline is approaching. So to use your time more efficiently, you can set a digital clock ...

How to Calculate Kurtosis in Excel (2 Methods)

In statistical analysis, researchers may often analyze the behavior of a set of data through various statistical parameters such as the median, mode, standard ...

How to Create a Countdown Timer in Excel VBA (with Easy Steps)

Imagine you want to countdown your time while you are doing a specific task. As we all know, you can do it by using your wristwatch. But what if you don’t have ...

How to Create a Data Source in Excel (with Simple Steps)

A group of records used to store data is known as a data source, sometimes known as a data file. Any document that has been prepared to offer a structure for ...

How to Generate All Possible Combinations of a Set of Numbers in Excel

Creating combinations among a list of data is a common phenomenon in our daily lives. Previously this task was accomplished by mathematicians as it requires ...

How to Randomize List of Names in Excel (8 Easy Methods)

Data sorting is frequently a crucial step in any data study. It can help in data organization, detect patterns, or discover the minimum and maximum values. ...

How to Change Margins in Excel (2 Methods)

Excel provides a wide-ranging utility to its customers. Sometimes your work demands a specific page layout thus you cannot proceed with default settings. In ...

How to Change Font Size in Excel (A Complete Guide)

Changing the font size in Excel can significantly enhance the visual appeal and readability of your data. Adjusting the font size in Excel is important for ...

How to Delete Columns with Specific Text in Excel (3 Methods)

You may frequently need to delete a full column or multiple columns in Excel, depending on the situation. For instance, you are asked to delete an entire ...

How to Calculate Straight Line Depreciation Using Formula in Excel

Excel will continue to be a vital tool for businesses for a variety of tasks and uses, from IT projects to team outings. For instance, you can calculate your ...

How to Find Number of Weeks Between Two Dates in Excel

Suppose you are in a situation where you have to calculate weeks from some given date range. And you need to calculate cost estimation by using those weeks, ...

How to Embed an Excel File in PowerPoint (5 Easy Ways)

Here's an overview of how data will be presented from Excel into PowerPoint. How to Embed an Excel File in PowerPoint: 5 Suitable Examples Let’s ...

Browsing All Comments By: Mohammad Shah Miran
  1. Reply Avatar photo
    Mohammad Shah Miran Mar 27, 2023 at 2:37 PM

    Yes AS, you are correct. The article has been revised. Thanks for noticing this and letting us know.

    Mohammad Shah Miran
    Team ExcelDemy

  2. Reply Avatar photo
    Mohammad Shah Miran Mar 27, 2023 at 12:14 PM

    Thank you PAULO GIOLO, for your query. Yes, I have just checked and found there is no issue to
    enable the secondary axis which is embedded in the PowerPoint slide. If you are missing plus sign in your chart, there is an alternate way that has been illustrated by the image below.
    Secondary Horizontal Axis
    However, if there is no secondary horizontal axis option in the Chart Elements, then follow this part of the article.
    Hope this will work for you. If you have further queries, feel free to ask.

    Mohammad Shah Miran
    Team ExcelDemy

  3. Reply Avatar photo
    Mohammad Shah Miran Mar 27, 2023 at 11:18 AM

    Thanks, MIKE M for your question. The problem you are stating indicates that the Solver could not find a solution that satisfied the optimization constraints you specified. This can happen for several reasons, including Incorrect input data, Incorrect model specification, Insufficient or incorrect constraints, Numerical instability, etc. Try to rectify those issues or if you need a more specific solution to your problem, it would be convenient if you provide your dataset. Thanks for being with ExcelDemy.

    Mohammad Shah Miran
    Team ExcelDemy

  4. Reply Avatar photo
    Mohammad Shah Miran Mar 19, 2023 at 4:59 PM

    Thank you SHASHI, for your query. I think this article might help to solve your problem.
    You can try to use this method for Conditional Formatted cells also. Further, if you have any confusion or query related to it, please let us know.

  5. Reply Avatar photo
    Mohammad Shah Miran Mar 19, 2023 at 3:03 PM

    Thank you, Jeb, for your query. You can take the API as a String value to your VBA code. Thus you don’t need to put the API value in your Excel sheet. So the existing code given in the workbook here can be modified as follows:

     Option Explicit
    Public Function Driving_Distance(startlocation As String, destination As String)
    Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String, keyvalue As String
    keyvalue = "AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ - VrzOWptdUwsvj9D3L9F"
    First_Value = ""
    Second_Value = "&destinations="
    Last_Value = "&travelMode=driving&o=xml&key=" & keyvalue & "&distanceUnit=mi"
    Set mitHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    mitUrl = First_Value & startlocation & Second_Value & destination & Last_Value
    mitHTTP.Open "GET", mitUrl, False
    mitHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    mitHTTP.Send ("")
    Driving_Distance = Round(Round(WorksheetFunction.FilterXML(mitHTTP.ResponseText, "//TravelDistance"), 3), 0)
    End Function

    Here we have changed the first two line of the given code. The previous code was as like:

     Public Function Driving_Time(startlocation As String, destination As String, keyvalue As String)
    Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String 

    But we have removed the third argument which represents the API value. Alternately, We declare the variable outside and put the API as a string value.

     Public Function Driving_Distance(startlocation As String, destination As String)
    Dim First_Value As String, Second_Value As String, Last_Value As String, mitHTTP As Object, mitUrl As String, keyvalue As String
    keyvalue = "AhFG0hk5nKCcQlk80MRaSk1ZtoYUYsX98BCLWi7p7MKZ - VrzOWptdUwsvj9D3L9F" 

    Now here comes to your second question. You have to create a customized Add-in to store your VBA code and therefore allow you to execute the code in any workbook. Hope you get your answer. However, if you have any further query, please let me know.

  6. Reply Avatar photo
    Mohammad Shah Miran Mar 19, 2023 at 12:07 PM

    Thank you, Hossam for your query. I am not sure whether you alter AVERAGEIF with AVERAGEIFS. If so, there should be a difference between them as AVERAGEIF deals with single criterion whereas AVERAGEIFS deals with multiple criteria. However, you can use the AVERAGEIFS function for a single criterion by specifying only one criterion range and one criterion. For example, you have a range of cells A1:A10 that contains numbers and you want to calculate the average of the cells that are greater than or equal to 5. For accomplish your task, you can use the AVERAGEIFS function like this:
    =AVERAGEIFS(A1:A10, A1:A10, ">=5")
    Further if you have any query, please let me know. Thank you.

  7. Reply Avatar photo
    Mohammad Shah Miran Mar 9, 2023 at 3:19 PM

    Thank you VIRGIAL for your query. Yes, you can use the COUNTIF function to count the number of items that have broken the Conditional Formatting threshold value. For doing this, write down the following formula in your desired cell. (eg. D11)
    =COUNTIF(D5:D10, "<12000")
    Here, D5:D10 is the data range for which you want to set your condition and 12000 is the Conditional Formatting threshold value.
    Additionally, the following image can be useful to comprehend the task.
    counting items

  8. Reply Avatar photo
    Mohammad Shah Miran Feb 27, 2023 at 4:20 PM

    Thank you, Greg Erkins, for believing in ExcelDemy.
    Use the following Macro Code to get your desired output.

     Function UrlConstructor(FName, Rng)
    FName = "http://www." & FName & ".com/"
    Dim Arr() As Variant
    ReDim Arr(Rng.Rows.Count - 1)
    For i = 1 To Rng.Rows.Count
        Arr(i - 1) = FName & Rng.Cells(i)
    Next i
    UrlConstructor = Arr
    End Function

    To aim the output, I have written the function name UrlConstructor and called friendly name and range of country code as an argument, like the picture given below.
    Url Construction From Friedly Name
    Download the Excel file for your better assistance (URL Construction from Friendly Name.xlsm). Also, let us know if you wish to learn more or have any concerns relevant to it. Good luck!

  9. Reply Avatar photo
    Mohammad Shah Miran Feb 27, 2023 at 3:53 PM

    Thank you for getting in touch with us. Based on your comment, what i understand is that you are interested in creating a schedule to track your maintenance work. I have provided an Excel file (Machine Maintenance Schedule) that outlines the different types of work you will need to perform. However, I would like to confirm whether your MNT1 and MNT2 etc. tasks are repetitive, or if they only need to be completed once every 15 days.
    If you would like to automate this process, you can incorporate a nested for loop to generate the desired output. Additionally, you can develop a sub-function to prevent repetitive values from being generated.
    Further, if you have any questions or concerns about this matter, leave your query here. We are here to help and are at your disposal.

  10. Reply Avatar photo
    Mohammad Shah Miran Dec 29, 2022 at 1:10 PM

    Hello Imran,
    Thanks for the query. What I understand from your comment is that you want to incorporate a VBA code for the formula instead of going to the formula editor. Here are my two cents which might help you in this regard. Look at the dataset attached below.

    After pressing the ALT+F11 short key to open your VBA window, paste the following code in the Module box.

    Save & Close your VBA window. Then, press F8 to open the Macro dialog box and click on Options.

    Create a shortcut key to make the process fast, Crtl+W for instance.

    Now see the output as given below.

    Hope you have got your answer. Good Luck!

    Excel & VBA Content Developer

Advanced Excel Exercises with Solutions PDF