Creating a program with excel

Перейти к содержимому

Один из наиболее часто задаваемых вопросов задаваемых начинающими пользователями звучит так: «Как создать программу в «Excel» и возможно ли это сделать в принципе?»

Ответ на него не так прост.

Создать полноценную программу или продвинутую игру инструментами «Эксель» практически невозможно.

С другой стороны «Excel» обладает достаточным набором инструментов (активные элементы Activx, ViBA и т.д.), позволяющими создавать достаточно функциональные приложения внутри самих экселевских документах — макросы.

Опытные программисты при помощи макросов написанных на языке VBA даже создают примитивные игры популярные в начале 90-х прошлого столетия: тетрис, змейка, пинг-понг и т.д.tetris

Рассмотрим азы создания программ в VBA Excel.

Самый первый этап создания программы — это написание алгоритма ее работы.
Необходимо определить для себя какие данные будут вноситься пользователем, какие данные будут константой, какой результат должна выдавать программа.
Когда определились с основными принципами работы программы, следует составить блок-схему ее работы, используя условные обозначения:block shema

Второй этап подготовка программы «Excel» к написанию макросов: включить макросы, отобразить панель разработчика и т.д.
Подробно подготовка к написанию простого макроса описана в статье:

Как написать простой макрос в программе Excel

Третий этап — при помощи языка программирования VBA «оцифровываем» блок схему. Делаем ее понятной для компьютера. То есть пишем сам код на языке программирования VBA.макрос в панели макросов

Некоторые варианты кодов макросов опубликованы на нашем сайте в разделе Макросы и VBA.

Programming in Excel

Excel Programming (Table of Contents)

  • Introduction to Programming in Excel
  • How to Program in Excel?

Introduction to Programming in Excel

Have you ever been tired of doing a task in Excel which you feel can be automated and save your time? Most of the time, you must have encountered such tasks. However, in order to automate any task, you first need to have programming skills for that particular language. In Excel, you can do programming with the help of Visual Basic for Application (VBA) which is Excel’s own programming language that can help you to automate the tasks. In this article, we will see how we can do programming in Excel VBA. VBA can be used to write a program that can automate the task for you. The piece of lines we write under VBA is called Macro, which is written in such a way that they instruct the Excel system about what to be done.

How to Program in Excel?

Let’s understand how to Program in excel with few illustrations.

Enabling Developer Tab

The first thing that comes is enabling the developer tab that helps you to record and store a macro (VBA Code). Let us see how we can get that enabled.

  • Navigate to the File menu in your excel file and click on it.

Programming in excel 1-1

  • Within the File menu, click on Options, and it will load a new window with all excel options available.

Programming in excel 1-2

  • In the new window that popped up named Excel Options, click on the Customize Ribbon tab. You can see all the customization options you can use for Excel Ribbon, which appears at the top of your Excel file.

customize ribbon-program excel

  • Enable Developer option under Main Tabs dropdown within Customize the Ribbon: section. You can check (tick-mark) the Developer tab to enable it. Click the OK button placed at the bottom right of the Excel Options tab, and that’s it.

Programming in excel 1-3

  • You have successfully enabled the Developer option within your excel. If you check the Excel Ribbon in your file now, you’ll be able to see a new tab added there with the name Developer on it.

Developer Tab-program excel

This is the first step you need to follow before you start writing macros in Excel. Because the Developer tab is needed to record and run the macro, this option tab is not by default enabled, which is why we tried enabling it here first.

Recording a Macro

  • Open the Excel file. Navigate towards the Developer tab you just enabled and then click on the Record Macro button, categorized and can be seen under the Code section.

Programming in excel 2-1

  • As soon as you click on the Record Macro button, you’ll see a window popping up; in that window, you must have to assign a name to the macro; you can also assign a shortcut key for this macro to run. Can you add the description, if any, for this macro you are creating? Once you are done with all this, you can click on the OK button placed at the right bottom of the window. See the screenshot below for your reference.

Record Macro

As soon as you click OK, the system starts recording the macro and all the tasks you perform will be recorded and converted to Excel Program in the backend.

  • Try typing the sentence “This is my first VBA code, and I am very happy!” in cell A1 within the Excel sheet and press Enter key. These steps will be recorded in the backend of the macro.

VBA programming excel

  • Under the Code section, you might have observed that the Record Macro button has changed to Stop Recording. This is like Play and Stop. Record Macro Works as Play button and Stop Recording work as Stop button. Click on the Stop Recording button to stop the recording.

Stop Recording

The magic behind all this is, Excel has recorded my steps here and converted those into pieces of code so that this task can be automated. It means, every single step, selecting cell A1, inputting the text as “This is my first VBA code, and I am happy!”, clicking Enter to go to the next cell. All these steps are converted into a VBA code. Let’s check the code now.

  • In order to go to Visual Basic Editor, you can click on the Visual Basic option under the Code category in the Developer tab, or you can use Alt + F11 as a shortcut for the same.

Visual Basic

  • Navigate towards the Modules section under VBAProject and click on the plus button under it to see the list of active modules in VBA.

Module 1

  • Inside the Modules folder, you can see Module1 as soon as you click on the plus sign. You can double click on Module1; it is where your code for the task we performed in previous steps (Step 3 and 4) are recorded. Save this code, and you can run it every time to get the same output. See the screenshot below:

myfirstcode

Conclusion

  • We can record a macro in Excel to automate day to day small tasks, which are simpler for the system to manipulate programmatically.
  • The cool thing about it is you don’t need to dig your head deep for the logic behind each step you perform. Excel VBA does it for you.
  • For some complex tasks, such as the one which involves looping and conditional statements, you need to write code manually under VBA.

Things to Remember About Programming in Excel

  • The Developers tab is not by default enabled and visible to you in Excel Ribbon. You need to enable it through Excel Options.
  • Recording a macro works on simple tasks that are repeating, and you need those to be automated. However, for complex tasks which involve looping or Conditional Inputs and Outputs are still need to be coded manually under VBA.
  • You need to save the file as an Excel-Macro Enable file format in order to be able to read and run the code again on your excel.

Recommended Articles

This is a guide to Programming in Excel. Here we discuss how to Program in Excel along with practical examples and a downloadable excel template. You can also go through our other suggested articles –

  1. Ribbon in Excel
  2. TRIM Formula in Excel
  3. Project Management Template in Excel
  4. COUNTIFS in Excel

Explore the 40 most popular pages in this section. Below you can find a description of each page. Happy learning!

1 Run Code from a Module: As a beginner to Excel VBA, you might find it difficult to decide where to put your VBA code. This example teaches you how to run code from a module.

2 Macro Recorder: The Macro Recorder, a very useful tool included in Excel VBA, records every task you perform with Excel. All you have to do is record a specific task once. Next, you can execute the task over and over with the click of a button.

3 Add a Macro to the Toolbar: If you use an Excel macro frequently, you can add it to the Quick Access Toolbar. This way you can quickly access your macro.

4 InputBox Function: You can use the InputBox function in Excel VBA to prompt the user to enter a value.

5 Close and Open: The Close and Open Method in Excel VBA can be used to close and open workbooks. Remember, the Workbooks collection contains all the Workbook objects that are currently open.

6 Files in a Directory: Use Excel VBA to loop through all closed workbooks and worksheets in a directory and display all the names.

7 Import Sheets: In this example, we will create a VBA macro that imports sheets from other Excel files into one Excel file.

8 Programming Charts: Use Excel VBA to create two programs. One program loops through all charts on a sheet and changes each chart to a pie chart. The other program changes some properties of the first chart.

9 CurrentRegion: You can use the CurrentRegion property in Excel VBA to return the range bounded by any combination of blank rows and blank columns.

10 Entire Rows and Columns: This example teaches you how to select entire rows and columns in Excel VBA. Are you ready?

11 Offset: The Offset property in Excel VBA takes the range which is a particular number of rows and columns away from a certain range.

12 From Active Cell to Last Entry: This example illustrates the End property of the Range object in Excel VBA. We will use this property to select the range from the Active Cell to the last entry in a column.

13 Background Colors: Changing background colors in Excel VBA is easy. Use the Interior property to return an Interior object. Then use the ColorIndex property of the Interior object to set the background color of a cell.

14 Compare Ranges: Learn how to create a program in Excel VBA that compares randomly selected ranges and highlights cells that are unique.

15 Option Explicit: We strongly recommend to use Option Explicit at the start of your Excel VBA code. Using Option Explicit forces you to declare all your variables.

16 Logical Operators: The three most used logical operators in Excel VBA are: And, Or and Not. As always, we will use easy examples to make things more clear.

17 Select Case: Instead of multiple If Then statements in Excel VBA, you can use the Select Case structure.

18 Mod Operator: The Mod operator in Excel VBA gives the remainder of a division.

19 Delete Blank Cells: In this example, we will create a VBA macro that deletes blank cells. First, we declare two variables of type Integer.

20 Loop through Defined Range: Use Excel VBA to loop through a defined range. For example, when we want to square the numbers in the range A1:A3.

21 Do Until Loop: VBA code placed between Do Until and Loop will be repeated until the part after Do Until is true.

22 Sort Numbers: In this example, we will create a VBA macro that sorts numbers. First, we declare three variables of type Integer and one Range object.

23 Remove Duplicates: Use Excel VBA to remove duplicates. In column A we have 10 numbers. We want to remove the duplicates from these numbers and place the unique numbers in column B.

24 Debugging: This example teaches you how to debug code in Excel VBA.

25 Error Handling: Use Excel VBA to create two programs. One program simply ignores errors. The other program continues execution at a specified line upon hitting an error.

26 Subscript Out of Range: The ‘subscript out of range’ error in Excel VBA occurs when you refer to a nonexistent collection member or a nonexistent array element.

27 Separate Strings: Let’s create a program in Excel VBA that separates strings. Place a command button on your worksheet and add the following code lines.

28 Instr: Use Instr in Excel VBA to find the position of a substring in a string. The Instr function is quite versatile.

29 Compare Dates and Times: This example teaches you how to compare dates and times in Excel VBA.

30 DateDiff Function: The DateDiff function in Excel VBA can be used to get the number of days, weeks, months or years between two dates.

31 Highlight Active Cell: Learn how to create a program in Excel VBA that highlights the row and column of the Active Cell (selected cell). This program will amaze and impress your boss.

32 Dynamic Array: If the size of your array increases and you don’t want to fix the size of the array, you can use the ReDim keyword. Excel VBA then changes the size of the array automatically.

33 User Defined Function: Excel has a large collection of functions. In most situations, those functions are sufficient to get the job done. If not, you can use Excel VBA to create your own function.

34 Read Data from Text File: Use Excel VBA to read data from a text file. This file contains some geographical coordinates we want to import into Excel.

35 Vlookup: Use the WorksheetFunction property in Excel VBA to access the VLOOKUP function. All you need is a single code line.

36 List Box: Use Excel VBA to place a list box on your worksheet. A list box is a list from where a user can select an item.

37 Check Box: A check box is a field which can be checked to store information. To create a check box in Excel VBA, execute the following steps.

38 Loan Calculator: This page teaches you how to create a simple loan calculator in Excel VBA. The worksheet contains the following ActiveX controls: two scrollbars and two option buttons.

39 Currency Converter: Use Excel VBA to create a Userform that converts any amount from one currency into another.

40 Progress Indicator: Learn how to create a progress indicator in Excel VBA. We’ve kept the progress indicator as simple as possible, yet it looks professional. Are you ready?

Check out all 300 examples.

What is Programming in Excel?

Programming refers to writing a set of instructions that tell Excel to perform one or more tasks. These instructions are written in the Visual Basic for Applications (VBA) as this is the language understandable to Excel. To write an instruction, one can either write a code in VBA or record a macro in Excel. A macro is recorded to automate repetitive tasks. When a macro is recorded, VBA generates a code in the background.

For example, to submit an Excel report, a table needs to undergo the same set of tasks each time. These tasks include applying a pre-defined border, color, alignment, and font. To program in Excel, a macro can be recorded for performing all these tasks.

The purpose of programming in Excel is to save the user from performing the same tasks again and again. Moreover, it helps accomplish multiple tasks at a great speed that would have taken a lot of time, had they been performed manually.

Table of contents
  • What is Programming in Excel?
    • Stages of Programming in Excel VBA
      • Stage 1–Enable the Developer Tab in Excel
      • Stage 2–Record a Macro in Excel
      • Stage 3–View and Examine the VBA Code Generated by the Recorded Macro
      • Stage 4–Test the VBA Code of the Recorded Macro
      • Stage 5–Save the Recorded Macro (or the VBA Code)
    • Frequently Asked Questions
    • Recommended Articles

Stages of Programming in Excel VBA

Programming in Excel VBA is carried out in the following stages:

  1. Enable the Developer tab in Excel
  2. Record a macro in Excel
  3. View and examine the VBA code generated by the recorded macro
  4. Test the VBA code of the recorded macro
  5. Save the recorded macro (or the VBA code)

Further in this article, every stage of programming ine xcel has been discussed one by one. The steps to be performed in each stage are also listed.

Stage 1–Enable the Developer Tab in Excel

Let us understand how to enable the Developer tabEnabling the developer tab in excel can help the user perform various functions for VBA, Macros and Add-ins like importing and exporting XML, designing forms, etc. This tab is disabled by default on excel; thus, the user needs to enable it first from the options menu.read more in Excel. This tab is enabled to record a macro and access VBA. When the Developer tab is enabled, it appears on the Excel ribbonRibbons in Excel 2016 are designed to help you easily locate the command you want to use. Ribbons are organized into logical groups called Tabs, each of which has its own set of functions.read more. However, by default, Excel does not display the Developer tab.

Note: To know an alternate method to record a macro and access VBA, refer to the “alternative to step 1” in stages 2 and 3.

The steps to enable the Developer tab in Excel are listed as follows:

Step 1: Go to the File tab displayed on the Excel ribbon.

Programming in Excel Example 1

Step 2: Select “options” shown in the following image.

Example 1.1

Step 3: The “Excel options” window opens, as shown in the following image. Select “customize ribbon” displayed on the left side of this window.

Programming in Excel Example 1.2.0

Step 4: Under “choose commands from” (on the left side of the window), ensure that “popular commands” is selected. Under “customize the ribbon” (on the right side of the window), choose “main tabs” from the drop-down list.

Next, select the checkbox of “developer” and click “Ok.” This checkbox is shown in the following image.

 Example 1.3.0

Step 5: The Developer tab appears on the Excel ribbon, as shown in the following image.

Programming in Excel Example 1.4

Stage 2–Record a Macro in Excel

Let us learn how to record a macroRecording macros is a method whereby excel stores the tasks performed by the user. Every time a macro is run, these exact actions are performed automatically. Macros are created in either the View tab (under the “macros” drop-down) or the Developer tab of Excel.
read more
in Excel. When a macro is recorded, all tasks performed by the user (within the workbook) are stored in the Macro Recorder until the “stop recording” option is clicked. Apart from Microsoft Excel, a macro can be recorded for all Office applications that support VBA.

The steps to record a macro in Excel are listed as follows:

Step 1: From the Developer tab, click “record macro” from the “code” group.

Alternative to step 1: One can also click “record macro” from the “macros” group of the View tab of Excel.

how to record macros in excel Example 1.5

Step 2: The “record macro” window opens, as shown in the following image. In this window, one can name the macro before recording it. The default macro name given by Excel is “macro1.”

The rules governing a macro name are stated as follows:

  • It should not contain any space ( ), period (.) or exclamation point (!).
  • It cannot contain any special characters (like $, @, ^, #, *, &) except the underscore (_).
  • It should not begin with a numerical value. Rather, it must start with a letter.
  • It cannot exceed 255 characters in length.

Note: It is recommended to use short and meaningful names for macros. Further, one must assign a unique name to each macro. In VBA, two macros within the same code module cannot have the same names.

how to record macros in excel Example 1.7

Step 3: In the “macro name” box, we have entered the name “recording_macro.”

Notice that an underscore has been used as a separator between the two strings (recording and macro) of the name. No spaces, periods or special characters have been used in this name.

 how to record macros in excel Example 1.8

Step 4: Click “Ok” to start recording the macro. Once “Ok” is clicked in the preceding window, the “record macro” button (in the Developer tab or the View tab) changes to the “stop recording” button.

Next, carry out the tasks to be recorded in the macro “recording_macro.”

Note: Since the Macro Recorder records every action performed by the user, ensure that the actions are executed in the right sequence. If the recorded sequence is correct, Excel will perform the tasks efficiently each time the macro is run.

However, if a sequencing error occurs, one must either re-record the actions or edit the VBA codeVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more manually. If one is recording the macro for the first time, it is recommended to keep a copy of the workbook to prevent any undesired changes to the stored data.

In the following steps (step 4a to step 4c), the tasks to be recorded have been performed.

Step 4a: Select cell A1 of the worksheet. This is the first task that is recorded. The selection is shown in the following image.

how to record macros in excel Example 1.9

Step 4b: Type “welcome to VBA” in cell A1. This is the second task that is recorded. Exclude the beginning and ending double quotation marks while typing.

Example 1.10.0

Step 4c: Press the “Enter” key. As a result, the selection shifts from cell A1 to cell A2. This becomes the third task that is recorded.

The selection is shown in the following image.

Example 1.11

Step 5: Click “stop recording” in the “code” group of the Developer tab. By clicking this option, Excel is told to refrain from recording any further tasks.

The “stop recording” option is shown in the following image.

Programming in Excel Example 1.12.0

Stage 3–View and Examine the VBA Code Generated by the Recorded Macro

Let us observe and study the VBA code generated by the macro recorded in stage 2. Remember that one can either directly write a code in the Visual Basic Editor (VBE or VB Editor) or let a macro do the same.

The VBE is a tool or program where VBA codes are written, edited, and maintained. When a macro is recorded, a code is automatically written in a new module of VBE. Note that VBA is the programming language of Excel.

The steps to view and study the code generated by the recorded macro are listed as follows:

Step 1: Click “visual basic” from the “code” group of the Developer tab. This option is shown in the following image.

 Example 1.13

Alternative to step 1: As a substitute for the preceding step, press the keys “Alt+F11” together. This is the shortcutAn Excel shortcut is a technique of performing a manual task in a quicker way.read more to open the VBE window.

Note: “Alt+F11” is a toggle key which when pressed repeatedly, helps to switch between VBE and Excel.

Programming in Excel Example 1.14

Step 2: The Visual Basic Editor window opens, as shown in the following image.

To the left of the VBE window, the worksheet, workbook, and module are shown. This window on the left (named “Project-VBAProject”) is also known as the Project window or the Project Explorer of VBE.

how to record macros in excel 1.15.0

Step 3: Double-click “modules” shown in the following image.

Note: “Modules” are folders shown in the Project window after recording a macro. They are not shown prior to recording a macro. “Modules” are also shown when a module is inserted manually from the Insert tab of the VBE.

Programming in Excel Example 1.16

Step 4: Double-click “module1” under modules. A code appears on the right side of the VBE window. This window on the right [named “Book1-Module1 (Code)”] is known as the module code window.

The code is displayed in the following image.

Note: The code generated by recording a macro can be checked in the “modules” folder (in the module code window). In a module code window, one can also write a code manually or copy-paste it from another source.

 how to record macros in excel Example 1.17

In the following steps (step 4a to step 4d), the code generated by the recorded macro has been studied.

Step 4a: The first word of the code is “Sub.” “Sub” stands for subroutine or procedure. At the start of the code, the word “Sub,” the macro name (recording_macro), and a pair of empty parentheses are displayed. This is followed by the statements to be executed by the code. These statements are:

ActiveCell.FormulaR1C1 = “Welcome to VBA”

Range (“A2”). Select

The code ends with “End Sub.”

The start or head [Sub Recording_Macro ()] and the end or tail [End Sub] of the code are shown in the following image.

Note 1: The words “macro” and “code” are often used interchangeably by several Excel users. However, some users also distinguish between these two words.

A VBA code is a command created either by writing a code directly in VBE or by recording a macro in Excel. In contrast, a macro consists of instructions that automate tasks in Excel. According to one’s choice, one can decide whether or not to differentiate between the two words.

Note 2: The “Sub” can be preceded by the words “Private,” “Public,” “Friend,” or “Static.” All these words set the scope of the subroutine. The default subroutine used in VBA is “Public Sub.” So, when “Sub” is written in a code, it implies “Public Sub.”

A “Public Sub” can be initiated by subroutines of different modules. However, a “Private Sub” cannot be initiated by subroutines of other modules.

how to record macros in excel Example 1.18

Step 4b: The first activity we performed (in step 4a of stage 2) was to select cell A1. Accordingly, the following statement of the code tells Excel that the active cell is R1C1.

ActiveCell.FormulaR1C1

When a macro is recorded, VBA uses the R1C1 style for referring to cells. In this style, the letter R is followed by the row number and the letter C is followed by the column number. So, cell R1C1 implies that the row number is 1 and the column number is also 1. In other words, cell R1C1 is the same as cell A1 of Excel.

Step 4c: The second activity we performed (in step 4b of stage 2) was to type “welcome to VBA” in cell A1. So, the following statement of the code tells Excel that the value in cell R1C1 is “welcome to VBA.”

ActiveCell.FormulaR1C1 = “Welcome to VBA”

Step 4d: The third activity we performed (in step 4c of stage 2) was to press the “Enter” key. By pressing this key, the selection had shifted from cell A1 to cell A2. Therefore, the following statement tells Excel to select cell A2.

Range (“A2”). Select

This is the way VBA generates a code for all the activities performed under stage 2 of programming in Excel. Examining the code line-by-line makes it easier to interpret it.

Stage 4–Test the VBA Code of the Recorded Macro

Let us test the code when it is run multiple times. Note that a macro (or code) can be run as many times as one wants. Each time it runs, it performs the recorded tasks in Excel.

The steps to test the code that we examined in stage 3 are listed as follows:

Step 1: Delete the string “welcome to VBA” from cell A1 of Excel. Let A1 remain as a blank, selected cell. The following image shows the empty cell A1.

Note: To go back from VBE to Excel, press the toggle key “Alt+F11.”

how to record macros in excel Example 1.19

Step 2: Go to VBE again by pressing the key “Alt+F11.” Click anywhere within the code. Next, click the “Run Sub/UserForm (F5)” button. This button is shown within a blue box in the following image.

Note: Alternatively, one can press the key F5 to run the VBA code.

Programming in Excel Example 1.20.1

Step 3: The output is shown in the following image. The preceding code enters the string “welcome to VBA” in cell A1. Thereafter, the selection shifts to cell A2. The string “welcome to VBA” has been entered in cell A1 because this cell was selected (in step 1) before running the code.

Each time the code is run, the currently selected cell (or the active cell) is filled with the string “welcome to VBA.” Then, the selection shifts to cell A2. So, if cell M10 is the active cell, running the code fills this cell with the stated string and selects cell A2 at the end.

However, had cell A2 been selected, running the code would have filled this cell with the string “welcome to VBA.” Moreover, in the end, cell A2 would have remained the selected cell.

Example 1.21.0

Stage 5–Save the Recorded Macro (or the VBA Code)

Let us learn how to save a workbook containing a recorded macro. If a macro is saved, its VBA code is also saved.

The steps to save a workbook containing a macro (or a VBA code) are listed as follows:

  1. Click “save as” from the File tab of Excel. The “save as” dialog box opens, as shown in the following image.
  2. Assign a name to the Excel workbook in the “file name” box. We have entered the name “macro class.”
  3. Save the workbook with the “.xlsm” extension. So, in the “save as type” box, choose “Excel macro-enabled workbook.”
  4. Click “save” to save the workbook.

A workbook containing a macro should always be saved with the “.xlsm” extension. This extension ensures that the macro is saved and can be reused the next time the workbook is opened.

Note 1: The “save as” command is used when a workbook is saved for the first time. It is also used when a new copy of the workbook is to be created and, at the same time, the original copy is to be retained as well.

Note 2: If the workbook containing a macro is saved as a regular workbook (with the “.xlsx” extension), the macro will not be saved. Further, one may lose the code of the recorded macro. 

 Example 1.23.0

Frequently Asked Questions

1. What is programming and how is it carried out in Excel?

Programming refers to instructing Excel to perform one or more tasks. To instruct Excel, either a code can be written in the Visual Basic for Applications (VBA) or a macro can be recorded in Excel. Each time a macro is recorded, a code is generated by VBA in the background.

The steps to carry out programming in Excel are listed as follows:

a. Enable the Developer tab in Excel.
b. Record a macro in Excel. For recording, perform each activity in the sequence in which it should be recorded.
c. Save the code generated by the recorded macro and run it whenever required.

One can also carry out programming by writing a code manually and then saving and running it.

Note: To learn the details of programming in Excel, refer to the description of the different stages given in this article.

2. How to write a code for programming in Excel?

For programming in Excel, a code is written in Visual Basic Editor (VBE), which is a tool of VBA. The steps to write a code in VBE are listed as follows:

a. Open a blank Excel workbook.
b. Press the keys “Alt+F11” to open VBE.
c. Select any worksheet from “Microsoft Excel Objects” listed in the “Project-VBA Project window.”
d. Click the Insert tab and choose “module.” A folder named “modules” and an object named “module1” are created in the “Project-VBA Project window.” At the same time, a window opens on the right, which is titled “Book1-Module1 (Code).”
e. Enter the code in the “Book1-Module1 (Code)” window that has opened in the preceding step.
f. Click anywhere within the code once it has been written entirely.
g. Run the code by pressing F5 or clicking the “Run Sub/UserForm (F5)” button.

If the code has been entered correctly in step “e,” Excel will perform the tasks it has been instructed to. However, if there is an error in the code, an error message will appear.

Note: For saving a code, refer to stage 5 of programming in Excel given in this article.

3. How to learn programming in Excel?

To learn programming, one can learn how to record a macro in Excel. It is easier to learn macro recording than to create a code manually in VBE. Moreover, macro recording can be done even if one does not know VBA coding.

However, each time a macro is recorded, examine the generated code carefully. As one becomes proficient in macro recording, the codes too will become understandable. In this way, learning programming in Excel will no longer be a complicated task.

Recommended Articles

This has been a guide to Programming in Excel. Here we discuss how to record VBA macros along with practical examples and downloadable Excel templates. You can learn more from the following articles–

  • Create Button Macro in ExcelA Macro is nothing but a line of code to instruct the excel to do a specific task. Once the code is assigned to a button control through VBE you can execute the same task any time in the workbook. By just clicking on the button we can execute hundreds of line, it also automates the complicated Report.read more
  • What is VBA Macros?
  • Excel MacroA macro in excel is a series of instructions in the form of code that helps automate manual tasks, thereby saving time. Excel executes those instructions in a step-by-step manner on the given data. For example, it can be used to automate repetitive tasks such as summation, cell formatting, information copying, etc. thereby rapidly replacing repetitious operations with a few clicks.
    read more
  • Code in Excel VBAVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more

excel cell referenceProgramming in Excel is simpler than you may think. The VBA editor and built in programming functions in Excel make creating your own routines and programs easy. This tutorial will show you how to create your own Inventory Input form so that a user can add stock to the worksheet. This tutorial requires a basic knowledge of Excel. For a great introduction to Excel, enroll in the Microsoft Excel 2013 Basics course now. This course contains lessons that will teach you how to identify parts of the worksheet. You will learn how to select cells and enter data. The course will show you how to change column widths and row heights. You will learn to work with various elements of the worksheet and you will learn to work with charts.

Let’s start by creating our button to launch our form.

Programming in Excel – Creating a Command Button

Command buttons are a great way to launch programs you create for your Excel spreadsheets. They are also a great way to launch the VBA editor. To create a command button, click the Developer tab on the main Excel ribbon and select “Insert” and choose “Command Button” under the ActiveX controls.

Drag your Command button using the handles to size the button. When you are happy with the size and shape, make sure you have “Design Mode” clicked and then double click the button to launch the VBA editor panel within Excel.

Create the Stock Entry Form

We are going to create a Stock Entry form for our worksheet. To create a new form, select “Insert” and then select “UserForm” to insert a new user form:

ProgrammingInExcel1

When you add a new form, a new Toolbox opens to allow you to add your own controls to the form. This toolbox allows you to add labels, text boxes, combo boxes and other controls that you use to control the information on your form:

ProgrammingInExcel2

The form and each control or element on the form has properties. These properties allow you to change the appearance of the element as well as other properties:

ProgrammingInExcel3

Notice that in the above properties we have renamed the form to “StockForm.” It is important to name all of your elements with clearly defined names to make it easier when you start to create your Excel program.

Let’s add some controls and elements to our stock form.

Add the Input Boxes to Your Stock Form

Our stock form will allow users to add stock to an inventory form. Our form will require the user to enter the date, the user name, the item and the number of stock items so we will add input boxes for each of them.

To create an input box for the date, insert a text box and call it “newDate.” Insert a label for the text box and change the caption property of the label to date:

ProgrammingInExcel4

Create a combo box for the Item to be entered. A combo box will allow the user to either enter a stock item or choose a stock item from a drop down list. To create the drop down list, define the row source property of the combo box as a named range from your worksheet. For the tutorial we named the items as Inventory and then specified “Inventory” under the row source property:

ProgrammingInExcel5

Don’t forget to name the Item Combo box “newItem.”

Now add a combo box for the user. Change the user element name to “newUser” and use “Users” as a named range to create a row source for the users in the worksheet.

We will add a text box element for the number of stock items. Name the text box “newTotal.”

Now we can add another command button to allow users to add the items to the worksheet. Create a command button on the form. Double click the button to open the VBA editor for the button.

Sign up for the Excel 2013 for Dummies Video Training, Deluxe Edition course and take your skills from Excel beginner to Excel master. The Excel for Dummies course is a comprehensive course offering over 106 lessons and over 19 hours of content to make sure you are comfortable working in Excel. The course includes lessons on Excel VBA and even includes an Excel VBA cheat sheet.

Add the Code

To add each new inventory item to the list, we first need to find the next new row in our worksheet. If we don’t search for the next new row, then our button will add the information to the same line over and over again and overwrite the information.

To find the next new row, use the following code:

newRow = Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

The above code finds the next row in a worksheet and stores the value in the variable called “newRow.” We are going to use this value to enter the new inventory using the following code:

Cells(newRow, 1).Value = newDate.Text

Cells(newRow, 2).Value = newUser.Text

Cells(newRow, 3).Value = newItem.Text

Cells(newRow, 4).Value = newTotal.Text

The above code inserts the values from the form into the cell with the address (newRow,1) to (newRow,4).

This is what our worksheet looks like:

ProgrammingInExcel6

When the user clicks the “Add Stock” button the following form will open:

ProgrammingInExcel7

The combo box works like this:

ProgrammingInExcel8

And when the user clicks add, a new row is added to the worksheet:

ProgrammingInExcel9

Add Forms to Your Worksheets

Forms are a great way to allow users to enter data into worksheets. Start learning how to harness the power of programming in Excel today. Join over four thousand students who are learning how to go from Excel beginner to pro with Learn Microsoft Excel 2013 – Advanced. This course offers over 52 lectures and 12.5 hours of content designed to teach you advanced Excel concepts. The course will teach you how to work with dates and times. You will learn about percentiles, averages and LINEST functions. The course will show you how to calculate depreciation and payments and you will learn to insert and format tables in your workbooks. You will be taught how to work with sparklines, data bars and pivot charts.

Like this post? Please share to your friends:
  • Creating a poster in word
  • Creating a new workbook in excel
  • Creating a new document in ms word
  • Create templates with word
  • Create tags in excel