Professional Documents
Culture Documents
Macro BCA
Macro BCA
Macro BCA
Branching
Repetitions
Flowchart for the MinValue function
Code for the MinValue function
Begin: factorial = 1
Step 1: factorial = 1 * 1 = 1
Step 2: factorial = 2 * 1 = 2
Step 3: factorial = 3 * 2 = 6
Step 4: factorial = 4 * 6 = 24
Step 5: factorial = 5 * 24 = 120
End
Flowchart for the recursive factorial function
Code for the recursive factorial function
Begin
Step 1: factorial(5) = 5 * factorial(4)
Step 2: factorial(4) = 4 * factorial(3)
Step 3: factorial(3) = 3 * factorial(2)
Step 4: factorial(2) = 2 * factorial(1)
Step 5: factorial(1) = 1 * factorial(0)
Step 6: factorial(0) = 1
End
Calculating number e as the sum of a series
1
e
i 0 i!
Use already defined factorial function
Function code
P
Sn 1
(1 n) n
Calculating the sum of a series: flowchart.
Parameter P does not depend on index n;
therefore, it can be put as the factor.
Subroutine code to print the result in the
immediate window
• Tools Menu
• Macro Command
– Record Macro
Recording a Macro
• In the Tools menu choose Macros – Record
new macro
• Give a name to the macro
• Start recording
• Do some actions
• Stop recording
• Edit the macro
• Use the macro
Viewing the code:
- The recording has produced a VB code, which alternatively
we could have programmed by hand:
- Let‘s see what we have just produced:
- Select Tools Macro Macros
a window called Macros opens up
- the window “Macro name“ shows the name of the Macro
- in case you have many Macros: select Options
to see the details of it (in case you do not remember)
- Select Edit
the code we have just produced will show up
Sub SumA1toA30()
'
' SumA1toA30 Macro
' sum up the cells A1:A30
'
' Keyboard Shortcut: Ctrl+s
'
Range("F12").Select
ActiveCell.FormulaR1C1 = "The sum of the cells A1:A30 is:"
Range("I12").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-11]C[-8]:R[18]C[-8])"
End Sub
Activating the Macro:
i) Select Tools Macro Macros
a window called Macros opens up
the macro‘s name appears in the window “Macro name:“
· in case you have more than one, select the one you want
Select Run
what you have recorded before will be executed now
ii) Use the shortcut:
- our example just: Ctl + s
iii) If you were editing the code:
Select
a window called Macros opens up i)
iv) Using customized buttons or other objects
Running a Macro
• ToolsMacroRun
– or use shortcut
• Attach a macro to a button on the Forms toolbar :
easy
– right ClickAssign Macro
• Attach a macro to a (command) button on the
Control Toolbox toolbar : need VB editor
– Call macro name from click method of the button
Run Macros
Tools Menu
Macro Command
Macros
Keyboard
Tool buttons
• Example: We calculate once more
- first you have to fill in: 1A1 , 2A2, 3A3 ... 30A30
- you can do this by hand, but the faster way is to use “Series“:
- put 1 into cell A1:
- select Edit Fill Series
a window called Series opens up
- Fill in: Series: Column
Type: Linear
Step value: 1
Stop value: 30
- Ok
- activate the Macro The sum of the cells A1:A30 is 465
Macro doing repetitive steps
• Sub kimep200()
• '
• ' kimep200 Macro
• ' Macro recorded 2/2/2003 by dvm
• '
• Dim counter As Integer
• For counter = 1 To 200
• Selection.TypeText Text:="KIMEP "
• Next counter
• End Sub
Formatting macro code
• Sub kformat()
• '
• ' kformat Macro
• ' Macro recorded 2/4/2003 by dvm
• '
• Dim counter As Integer
• For counter = 1 To 200
• Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
• Selection.Font.Color = wdColorRed
• Selection.Font.Bold = wdToggle
• Selection.Font.Italic = wdToggle
• If Selection.Font.Underline = wdUnderlineNone Then
• Selection.Font.Underline = wdUnderlineSingle
• Else
• Selection.Font.Underline = wdUnderlineNone
• End If
• Selection.MoveRight Unit:=wdCharacter, Count:=3
• Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
• Selection.Font.Color = wdColorBlue
• Selection.MoveRight Unit:=wdCharacter, Count:=3
• Next counter
• End Sub
Use Controls on a Worksheet
• Two types of Controls
– Forms toolbar: Simple, compatible with Excel earlier version
– Control Toolbox toolbar: complex, can do everything
Forms controls do, and much more (We’ll focus on this)
– buttons, checkboxes, etc.
• Get Forms toolbar: ViewToolbarsForms
• Get Control Toolbox toolbar:
ViewToolbarsControl Toolbox
• Focus on Command Button in Control Toolbox
– design mode
A control(e.g. a Command Button) as an object
• A control is an object
– Objects have identity, properties, methods
• Identity (Name):
– Is also a property (called Name), but each control’s name
has to be unique on the worksheet
• Each control has properties associated with it
– each property has a value
– e.g. Font = Arial ; Height = 24
– See the list of properties by right clicking on it (in design
mode)
• Each control also has methods associated with it
– e.g. Click(what will happen if clicking on it), DblClick
– double click on the control in design mode to see list of
methods(upper right drop down list) in VB editor
iv) Changing the button design:
• attach a better text to the button:
- select the right mouse button (moving first over the button)
a variety of commands opens up: Cut, Copy, Paste,...
select Edit text
type a meaningfull text onto the button,
e.g. Sum A1 to A30
• change the size of the button:
- select the right mouse button (moving first over the button)
select Format Control
Alignment
Automatic size Ok
• similarly you can change the writing direction, the text fonts,
the text and button size, the margins of the button, the colour,
the status of the protection, etc.
• You can also assign Macros to other objects:
· the symbol from the forms toolbar
· a text label Aa on the forms toolbar
· other symbols from the forms toolbar
· a picture you have imported before such as