Presentation is loading. Please wait.

Presentation is loading. Please wait.

# 1# 1 CS 105 Spring 2010 Macros: Sub Procedures You Record What is a macro? What is With…End With? What is Sub…End Sub? Relative vs. Absolute.

Similar presentations


Presentation on theme: "# 1# 1 CS 105 Spring 2010 Macros: Sub Procedures You Record What is a macro? What is With…End With? What is Sub…End Sub? Relative vs. Absolute."— Presentation transcript:

1 # 1# 1 CS 105 Spring 2010 Macros: Sub Procedures You Record What is a macro? What is With…End With? What is Sub…End Sub? Relative vs. Absolute

2 # 2# 2 CS 105 Spring 2010 Macro Statements A Macro always begins a Sub statement A Macro ends with an End Sub statement

3 # 3# 3 CS 105 Spring 2010 A Macro To perform multiple actions on the same object Macros use –With –End With

4 # 4# 4 CS 105 Spring 2010 Select and Do—the pattern Note how first the Macro selects the object, then executes the code…

5 # 5# 5 CS 105 Spring 2010 More about Macros… Step Into command helps you debug a macro Opening a file with a macro will prompt a question about viruses

6 # 6# 6 Recording a Macro in Office 2007 Go to Developer, click on Record Macro CS 105 Spring 2010

7 # 7# 7 Record Macro Comments begin with an apostrophe (‘) Comments help the programmer, others to read code

8 # 8# 8 CS 105 Spring 2010 Calling Macros You can use macros easily because they are on a Module sheet, that makes them available to everything, so all you do is write the macro name

9 # 9# 9 CS 105 Spring 2010 Finding the Stop Recording button in Office 2003 We lost our little macro recorder button If you lose yours, go to View/Toolbars/Stop Recording, and it will appear on your spreadsheet or on a toolbar.

10 # 10 Stop Recording in Office 2007 Developer, then click on Stop Recording CS 105 Spring 2010

11 # 11 CS 105 Spring 2010 Cell References in Macros Absolute references— When we specify exactly what cells are affected Absolute cell address are constant

12 # 12 CS 105 Spring 2010 An absolute Macro Range selects the starting or active cell/cells—the references below are absolute—whenever the Macro runs, these exact cells are selected First, the cell is selected, then a number is placed in it

13 # 13 CS 105 Spring 2010 ActiveCell.FormulaR1C1 R1C1 is a reference style (you can set this under Tools/Options/General) Don’t worry, we won’t be using this in class. We want you to know where it came from.

14 # 14 CS 105 Spring 2010 ActiveCell.FormulaR1C1 = "Income" All that you need to know is that for the active cell, the content is "Income" "FormulaR1C1" refers to the contents of the active cell You find this notation in Macros that you create

15 # 15 CS 105 Spring 2010 FormulaR1C1 vs. Value Range("D5").Select ActiveCell.FormulaR1C1 = "8" Range("D5").Select ActiveCell.Value = "8" These two code fragments produce the same results.

16 # 16 CS 105 Spring 2010 What if you want to vary the cells?

17 # 17 CS 105 Spring 2010 Relative references We don’t always want the event to happen in the same place Cell addresses change Visual Basic uses Offset to indicate space away from active cell

18 # 18 CS 105 Spring 2010 Recording a Macro with Relative References Before you start recording your Macro, click on the Relative Reference button

19 # 19 In Office 2007 First, click on Use Relative References, then click Record Macro CS 105 Spring 2010

20 # 20 CS 105 Spring 2010 Relative Cell References –ActiveCell.Offset(2, 0).Range("A1").Select –Means the cell two rows below the active cell, in the same column

21 # 21 CS 105 Spring 2010 ActiveCell.Offset(2, 0).Range("A1").Select What does ActiveCell.Offset(2, 0).Range("A1").Select mean? How to I make the cell next to the active cell become the new active cell?

22 # 22 CS 105 Spring 2010 Range("A1").Select This part of the code tells you how many cells have been selected. ActiveCell.Offset(2, 0).Range("A1").Select means 1 cell is selected ActiveCell.Offset(2, 0).Range("A1:C1").Select means 3 cells in a row have been selected (if you are in cell B2, then B2, C2, and D2 are selected)

23 # 23 CS 105 Spring 2010 Activate or Select? Range("B3").Select Selection.Interior.ColorIndex = 6 Range("B3").Activate Selection.Interior.ColorIndex = 6 Both code fragments have the same result

24 # 24 CS 105 Spring 2010 This Relative Macro Causes a Crash

25 # 25 CS 105 Spring 2010 Run it line-by-line to find bug Code runs OK until it reaches the line under the highlighted line. You can turn your attention to the problem line of code!

26 # 26 CS 105 Spring 2010 To Summarize What is a macro? What is With…End With? What is Sub…End Sub? Relative vs. Absolute


Download ppt "# 1# 1 CS 105 Spring 2010 Macros: Sub Procedures You Record What is a macro? What is With…End With? What is Sub…End Sub? Relative vs. Absolute."

Similar presentations


Ads by Google