+ All Categories
Home > Documents > Excel Training Macro[1]

Excel Training Macro[1]

Date post: 16-Apr-2017
Category:
Upload: sarwardba
View: 230 times
Download: 0 times
Share this document with a friend
23
GE, Canada Best Practice Sharing - Macros - Gearing up to succeed in a data driven environment
Transcript
Page 1: Excel Training Macro[1]

GE, Canada

Best Practice Sharing - Macros -

Gearing up to succeed in a data driven environment

Page 2: Excel Training Macro[1]

2 /

Best Practice Sharing

Forward

This Excel document was created on the basis of my experiences lived through various situations at GE.

I understand there might be numerous ways to perform tasks in Excel, and this document does not pretendto be completely comprehensive, but merely thoughts and guides based on personal experience.

Special thanks to Melissa Kay for her precious help in making this document as perfect and straight forwardas possible.

Please do not hesitate to contact me for any comments, suggestions, or if you need help with Excel. You cansend me an email at [email protected] and I will gladly reply.

Thank you for your interest in this document. Best of luck in your future projects.

Guillaume Cote-Provencher | FMP

Page 3: Excel Training Macro[1]

3 /

Best Practice Sharing

Table of Contents

Module 5: Macro – Automating Workflow

5.1. Introduction

5.1.1. Definition

5.1.1.1. What Is A “Macro”

5.1.1.2. Terminology

5.1.2. Important Points

5.2. Recording A Macro

5.2.1. Basics

5.2.2. Steps

5.2.2.1. Preparation

5.2.2.2. Recording

5.2.2.3. Inserting “Button”

5.2.2.4. Editing

5.3. VBA View

5.3.1. Basics

5.3.2. Deciphering the VBA Language

5.3.2.1. Explaining “α” sequence of codes

5.3.3. Examples

Page 4: Excel Training Macro[1]

4 /

Best Practice Sharing

Table of Contents

Module 5: Macro – Automating Workflow

5.4. Trouble Shooting

5.4.1. Basics

5.4.2. Not All the Files Are Open

5.4.3. Change In File Names

5.4.4. Change In File Structure

5.4.5. Sequencing and Calculation

Page 5: Excel Training Macro[1]

5 /

Best Practice Sharing

5.1. Introduction

Page 6: Excel Training Macro[1]

6 /

Best Practice Sharing

Module 5: Macros

5.1. Introduction

5.1.1. Definition

•A “Macro” is a set of codes referring to precise actions performed in Excel

•Once a “Macro” is recorded /written you can run it as often as you like

•Running a “Macro” will have Excel perform every task coded in the “Macro”

•“Macros” are useful to “automate” repetitive tasks

•“Macros” can make Excel take care of hundreds of operations in a single “click”

•Macros are written in VBA language (programming)

5.1.2. Important Points

5.1.1.1. What Is A “Macro”

5.1.1.2. Terminology

•Recording a “Macro”: Saving performed operations into a “Macro”, making it possible to repeat the same tasks at a later time

•Running a “Macro”: Having the “Macro” repeat the previously saved operations

•In Office 2010, not all Excel workbooks are macro enabled � to ensure your Excel file is able to operate “Macros” save your Excel workbook in: “Excel Macro-Enabled Workbook (.*xlsm)”

•The fact that a “Macro” runs operations on its own makes it difficult to identify possible mistakes �by doing the operations manually you would be able to identify outlying values � the “Macro” will not tell you if the results “don’t make sense”

Page 7: Excel Training Macro[1]

7 /

Best Practice Sharing

Module 5: Macros

5.1. Introduction

•A “Macro” is NOT flexible � i.e. “Macros” will not adjust to structural changes in files/templates

• Structural Changes: if a file has a different name, different tabs, different # of rows/columns, etc

• If there is a change in a file name � the “Macro” will not recognize the new name

• If a value originally in cell A1 is now in B1 � the “Macro” will still take the value it finds in A1 to perform its operations

• Make sure to adapt the “Macro” to any modifications made to files/templates

•To circumvent potential issues related to file names � you can “save as” recurrent files giving them a generic name

• Weekly files often have weekly variations in their names

• Instead of modifying the “Macro” every week to fit the new names � you might want the “Macro” to consider a file with a generic name which you will update weekly

•e.g. of a “Macro”

•Codes describing different operations performed by Excel

•A “Macro” is a set of codes relating to a set of tasks in Excel

•Codes can be recorded of manually written

Page 8: Excel Training Macro[1]

8 /

Best Practice Sharing

5.2. Recording A Macro

Page 9: Excel Training Macro[1]

9 /

Best Practice Sharing

Module 5: Macros

5.2. Recording A Macro

5.2.1. Basics

•“Macros” can be recorded or written

• Recorded “Macros”: Excel will record your actions and convert them into a “Macro” code

• Written “Macros”: It is also possible to manually write the code for a “Macro”

•Unless you know the VBA language very well, it is easier to record a “Macro” � it is easier to modify the codes in a recorded “Macro” than to write the codes from start to finish

•Make sure all the Excel files you require to perform your operations are open before starting to record a “Macro”

5.2.2. Steps

•Open all Excel files required to perform the operations you want to code in a “Macro”

•Make sure the sequencing of the operations to be performed has been tested before recording

• Recording a “Macro” will save the operations in the exact same sequence as they are performed while you record it

• Be mindful of operations that need to be performed before others when you record a “Macro”

• Some calculations need to be executed before others and this order should be considered when recording � make sure formulas are refreshed accordignly

5.2.2.1. Preparation

Page 10: Excel Training Macro[1]

10 /

Best Practice Sharing

Module 5: Macros

5.2. Recording A Macro

• “Record Macro” box

• Enter the name you want to give your “Macro”• Make sure the name is meaningful � it will

make it easier to select the “Macro” from a list

• You can store the “Macro” in the file from which you selected the “Macro” menu from, or in a new workbook

• You can store it in a new workbook just to make it “clearer” to identify

• Some choose the new workbook to only contain the “Run Macro” button to make it easier to use•Select “OK”

•The “Macro” is now recording

•When a “Macro” is recording you can see a record symbol in the bottom left hand corner of the Excel files

•Perform your Excel operations

•Select the “Stop” symbol to end recording

• Symbol indicating that the “Macro” is running

• Click on this symbol to stop the recording

•Select the “View” quick bar menu

•Select “Macros”

•Select “Record Macro…”

•Select a “Name” for the “Macro”

•Select where you want to “Store the Macro in:”

5.2.2.2. Recording

Page 11: Excel Training Macro[1]

11 /

Best Practice Sharing

Module 5: Macros

5.2. Recording A Macro

5.2.2.3. Inserting “Button”

•A “Button” is a shape linked to a “Macro” that allows you to start running the “Macro” it is associated with just by clicking on it

•To insert a “Button” you need the “Developer” quick bar menu (does not come standard)

•Insert “Developer” quick bar menu:

• Select “Options” from the Excel file menu

• Select “Customize Ribbon”

• Check “Developer” from the right hand side menu

• “Developer” quick bar menu is now activated

Page 12: Excel Training Macro[1]

12 /

Best Practice Sharing

Module 5: Macros

5.2. Recording A Macro

•Insert “Button”

• Select “Developer” quick bar menu

• Select “Insert”

• Select “Button”

• “Draw” the “Button”

• Upon drawing of the “Button” a menu will open, allowing you to select the “Macro” you want to tie the “Button” to

• Right click on the “Button” to format font and rename

• Click to insert “Button”

• Double click on the “Macro” you want to assign to the “Button”

Notes and Observations

•Every time you will click on the button it will initiate the “Macro”

• Example of a “Button” linked to a “Macro” designed to refresh all “Pivot Tables” within a file

• By clicking on the “Button” you will start the “Macro”

Page 13: Excel Training Macro[1]

13 /

Best Practice Sharing

Module 5: Macros

5.2. Recording A Macro

•After having recorded a “Macro” you might want to edit it

• You may want to simplify the writing

• You may want to insert comments to help understand the codes

•Select the “View” quick bar menu

•Select “Macros”

•Select “View Macros”

•Select a the “Macro” you want to edit from the menu list

•Select “Edit” to open the VBA view

5.2.2.4. Editing

•“Macros” can be edited by manually writing new codes

•It also possible to “arrange” the disposition of the codes in the VBA view

Notes and Observations

Page 14: Excel Training Macro[1]

14 /

Best Practice Sharing

5.3. VBA View

Page 15: Excel Training Macro[1]

15 /

Best Practice Sharing

Module 5: Macros

5.3. VBA View

5.3.1. Basics

•The VBA view allows you to interact with existing macros

•The VBA view allows you to see, edit, modify the “Macro” codes

•Select “Edit” from the “View Macros” menu box to access VBA view

Notes and Observations

•Once a “Macro” is recorded and saved, it is not possible to record new codes following the first recording

•However, it is possible to modify an already recorded “Macro” by writing additional VBA codes without having to record them

•If you are not too sure of how to write an additional set of codes you can record a “test Macro” to see how Excel records the additional operations performed � you can then copy the codes from the “test Macro” and paste them in the “master Macro”

•If an operation in a “Macro” is very repetitive (i.e. if you always copy and paste from the same files � you can copy and paste the codes corresponding to the action of copying and pasting � and then manually modify the cell range

•The 2 red boxes represent the same operation type: Copy and Paste �only the cell areas are different

•You could Copy α and Paste it in β � you could then modify the code to adjust the cell areas � S9:T9 for S12:12 and BL8:BM8 for BL9:BM9

• α

• β

Page 16: Excel Training Macro[1]

16 /

Best Practice Sharing

Module 5: Macros

5.3. VBA View

5.3.2. Deciphering the VBA Language

•Below is a view from a “Macro” set of codes

• A “Macro” starts with “Sub” and the name of the “Macro”• Having a line start with “ ‘ “ makes the “Macro” to

ignore the line � the “Macro” will not consider text starting with “ ‘ “ as code � this allows you to input comments

• A “Macro” ends with “End Sub”

• Codes describing the operations performed by the “Macro”

• By recording a “Macro”, Excel will save the operations into codes like these

• α

Notes and Observations

•“Sub” and “End Sub” are automatically inputted when recording a “Macro”

•The previous example shows a “Macro” that has been recorded and then edited to simplify the understanding

Page 17: Excel Training Macro[1]

17 /

Best Practice Sharing

Module 5: Macros

5.3. VBA View

5.3.2.1. Explaining “α” sequence of codes

•Windows("Pipeline Report.xlsm").Activate

•Sheets("Current Pipeline").Select

•Range("S12:T12").Copy

•Windows("War Room.xlsx").Activate

•Sheets("CANADA").Select

•Range("BL9:BM9").Select

•Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

•Go to file called “Pipeline Report.xlsm”

•Go to tab called “Current Pipeline”

•Select cells S12 to T12 AND Copy

•Go to file called “War Room.xlsx”

•Go to tab called “CANADA”

•Select cells BL9 to BM9

•Paste selection: Value, without any operation, without skipping blanks, without transposing

• VBA • Literal

•It is important to understand the VBA language to:

• Modify “Macros” without having to re-record them completely

• Lighten the codes by erasing unnecessary lines

• Identify potential errors

Notes and Observations

Page 18: Excel Training Macro[1]

18 /

Best Practice Sharing

Module 5: Macros

5.3. VBA View

5.3.3. Examples

•Below is a view from a “Macro” set of codes UNEDITED

• Codes for scrolling in the Excel file � scrolling codes are NOT necessary for the “Macro” � they only crowd and slow down the “Macro” execution � scrolling codes can be deleted

•Codes in recorded “Macros” can be difficult to understand due to the lack of spacing and proper task identification

•They can be edited to make them easier to understand

• Scrolling codes

Page 19: Excel Training Macro[1]

19 /

Best Practice Sharing

Module 5: Macros

5.3. VBA View

•Below is a view from the previous “Macro” EDITED

• Titles have been added to identify each operation the “Macro” performs step by steps

• Scrolling codes have been deleted to lighten the “Macro”

• Overall spacing has been modified to lighten the presentation

Page 20: Excel Training Macro[1]

20 /

Best Practice Sharing

5.4. Trouble Shooting

Page 21: Excel Training Macro[1]

21 /

Best Practice Sharing

Module 5: Macros

5.4. Trouble Shooting

5.4.1. Basics

•“Macros” will tell you when they are unable to perform one of the coded operation

•“Macros” automatically stop the first time they are experiencing a problem with one of the coded operation

• “Macro” error box

• Select “Debug” to see which operation the “Macro” was unable to perform

• The exact step where the “Macro” encountered a problem

• This can give you a hint of what is going wrong

Notes and Observations

• “Macros” will NOT tell you is the result of an operation makes sense � if the operation is “feasible” the “Macro” will perform it

• “Macros” don’t know a ROI of 1000% doesn’t make sense• “Macros” don’t know negative volume doesn’t make sense

• It is your responsibility to provide the “Macro” with the proper data so that the operations result in valid answers

Page 22: Excel Training Macro[1]

22 /

Best Practice Sharing

Module 5: Macros

5.4. Trouble Shooting

5.4.2. Not All the Files Are Open

•“Macros” operate in Excel files � “Go to this file, do that, go to this other file and do that, etc.”

•If a file where an operation needs to be done is not open when you run the “Macro” you will get an error message

•ALL files that are to be used by a “Macro” have to be open before running the “Macro”

5.4.3. Change In File Names

•The files that are open prior to running a “Macro” have to be spelt the same way the files in the codes are � the “Macro” has to “guide” itself with names and will only recognize files written as per the codes

•Same logic applies to tab names

•Be careful with the file extensions (.xls / .xlsx / .xlsm) � a switch from .xls to xlsx is enough make the “Macro” not to recognize a file

5.4.4. Change In File Structure

•The structure of the templates and files used by a “Macro” has to stay the same

•If the code says that the “funded volume” has to be pasted in cell A1 of a given file � you have to make sure that A1 corresponds to the “funded volume” every time you run the “Macro”

• If you have a new template or file, you have to make sure that the areas were values should be inputted still correspond to the areas in the codes

• Maybe “funded volume” now has to be inputted in cell B2

•If the structure of a template or file changes and you fail to adjust the codes � the “Macro” will still perform the operations, but with the incorrect cells

Page 23: Excel Training Macro[1]

23 /

Best Practice Sharing

Module 5: Macros

5.4. Trouble Shooting

5.4.5. Sequencing and Calculation

•Operations in a “Macro” have to be sequenced so that operations on which others are coded precede the dependent operations

•To avoid any problems related to “manual calculation options” in Excel � you can enter “Calculate” as a code in the VBA view � “Calculate” will have the Excel file to calculate all formulas before moving on the next operation in the code


Recommended