ME 142 Engineering Computation I Using Subroutines Effectively.

Slides:



Advertisements
Similar presentations
1 VBA Introduction. Basic Components 2 VBA LANGUAGE OFFICE OBJECTS EXCEL OBJECTS ACCESS OBJECTS WORD OBJECTS OUTLOOK OBJECTS POWERPOINT OBJECTS.
Advertisements

ISOM3230 Business Applications Programming
Object Oriented Programming A programming concept which views programs as objects with properties and ways to manipulate the object and the properties.
Modeling using VBA. Covered materials -Userforms -Controls -Module -Procedures & Functions -Variables -Scope.
Some computer fundamentals and jargon Memory: Basic element is a bit – value = 0 or 1 Collection of “n” bits is a “byte” Collection of several bytes is.
AE6382 VBA - Excel l VBA is Visual Basic for Applications l The goal is to demonstrate how VBA can be used to leverage the power of Excel u VBA syntax.
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
Tutorial 12: Enhancing Excel with Visual Basic for Applications
Programming in Visual Basic
CIS 101: Computer Programming and Problem Solving Lecture 8 Usman Roshan Department of Computer Science NJIT.
VBA Modules, Functions, Variables, and Constants
String Variables Visual Basic for Applications 4.
VB – Core III Functions Sub-routines Parameter passing Modules Scope Lifetime.
Adding Automated Functionality to Office Applications.
VBA & Excel Barry L. Nelson IEMS 465 Fall Quarter 2003.
ME 142 Engineering Computation I Macros. Key Concepts Macro Overview Recording a Macro Running a Macro Editing a Macro Using Controls.
Apply Sub Procedures/Methods and User Defined Functions
IE 212: Computational Methods for Industrial Engineering
Operations 343 Spreadsheet Modeling Week 15 Quiz Review Homework Review Course Review Lab session.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Extended Learning Module M Programming in Excel with VBA.
University of Toronto at Scarborough © Andria Hunter, Kersti Wain-Bantin CSCA01 VBA-3 1 Lecture Outline Variable Scope Calling another subprogram Programming.
Saeed Ghanbartehrani Summer 2015 Lecture Notes #4: Working with Variables and User Interfaces IE 212: Computational Methods for Industrial Engineering.
ME 142 Engineering Computation I Variables, Equations & Functions Introduction to Basic Programming Language.
© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Extended Learning Module M Programming in Excel with VBA.
Tutorial 11 Using and Writing Visual Basic for Applications Code
1 Visual Basic for Applications (VBA) for Excel Prof. Yitzchak Rosenthal.
Week 8.  Recap  User Forms  Input Validation Message Boxes Input Boxes  Conversion Functions.
® Microsoft Access 2010 Tutorial 11 Using and Writing Visual Basic for Applications Code.
 An object-oriented programming language ◦ Instructions for the manipulation of objects ◦ A structured way to provide instructions to Excel  Excel has.
Copyright © 2008 Pearson Prentice Hall. All rights reserved. 1 Microsoft Office Excel Copyright © 2008 Pearson Prentice Hall. All rights reserved
Class 3 Programming in Visual Basic. Class Objectives Learn about input/output Learn about strings Learn about subroutines Learn about arrays Learn about.
Visual Basic for Applications Macro Programming For Microsoft Office.
Access VBA Programming for Beginners - Class 2 - by Patrick Lasu
VBA Lab 2 I ns.Samia Al-blwi. Visual Basic Grammar Object: Visual Basic is an object-oriented language. This means that all the items in Excel are thought.
Date Variables Visual Basic for Applications 5. Objectives n In this tutorial, you will learn how to: n Reserve a Date variable n Use an assignment statement.
ME 142 Engineering Computation I Debugging Techniques.
MS Visual Basic Applications Walter Milner. Event-driven programming Standard approach for GUIs Contrast with old character interfaces – program determines.
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 3 Variables, Constants, Methods, and Calculations.
Chapter 9 Macros And Visual Basic For Applications.
ME 142 Engineering Computation I Exam 2 Review VBA.
Overview of VBA Programming & Syntax. Programming With Objects u Objects –Properties: attributes or characteristics of an object (e.g., font size, color,
1 CS105 Discussion 5 – Variables and If Announcements MP 1 due on Monday Midterm 1 on Tuesday If you need a conflict, request it NOW!!
ME 142 Engineering Computation I Using Subroutines Effectively.
# 1# 1 Using Procedures and Functions What is a procedure? What is a sub procedure (subroutine)? Built-in functions in your code What is a function? CS.
Lab 6 (2) Arrays ► Lab 5 (1) Exercise Review ► Array Concept ► Why Arrays? ► Array Declaration ► An Example of Array ► Exercise.
1 Scripting Languages VBScript - Recognized mainly by Internet Explorer only - Netscape does have a plug-in JavaScript - Recognized by Internet Explorer.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Introduction to Excel VBA UNC Charlotte CPE/PDH Series December 17, 2009.
ME 142 Engineering Computation I Input, Output & Documentation.
Debugging, Static Variables, ByRef, ByValue Chapt. 6 in Deitel, Deitel and Nieto.
Hungarian Notation A must in this course Every object used MUST be renamed including the form(s) using the following rules Form  frmFormName E.g. frmTemperature.
Programming with Microsoft Visual Basic th Edition
Visual Basic Objects / Properties / Methods PropertyAdjective ObjectNoun Part of the application Attribute MethodVerb Action to do something.
ME 142 Engineering Computation I Using Excel Arrays in Functions.
Chapter 4 Getting Started with VBA. Subroutines Subroutine is the logical section of code that performs a particular task. Subroutine is also called a.
ME 142 Engineering Computation I Input, Output & Documentation.
Controlling Program Flow with Decision Structures.
COMPREHENSIVE Access Tutorial 11 Using and Writing Visual Basic for Applications Code.
Chapter 15: Sub Procedures and Function Procedures Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University.
COMPREHENSIVE Excel Tutorial 12 Expanding Excel with Visual Basic for Applications.
IE 8580 Module 4: DIY Monte Carlo Simulation
A variable is a name for a value stored in memory.
VBA - Excel VBA is Visual Basic for Applications
Spreadsheet-Based Decision Support Systems
Final Exam Review Part 4 - VBA
Objectives Learn about Function procedures (functions), Sub procedures (subroutines), and modules Review and modify an existing subroutine in an event.
CS285 Introduction - Visual Basic
Language Constructs Construct means to build or put together. Language constructs refers to those parts which make up a high level programming language.
Introduction to Computer Programming IT-104
Tutorial 11 Using and Writing Visual Basic for Applications Code
Presentation transcript:

ME 142 Engineering Computation I Using Subroutines Effectively

Key Concepts Functions vs. Subprograms Using Subroutines Effectively Declaring Variables

Functions vs. Subprograms

 A Function is a self-contained program that receives input through arguments (or parameters), performs calculations, and returns a result  A Subprogram is similar to a function, except it does not return a result

Functions vs. Subprograms  Functions may be used in formulas or expressions  Excel provides hundreds of built-in functions  Functions return a result but may not write to other cells in the spreadsheet  Subprograms may write directly to cells in the spreadsheet

Functions vs. Subprograms  Functions are launched from a formula  Subprograms may be launched from a button or as any macro  Subprograms offer the most flexibility and power, including the use of custom dialog boxes

Using Subroutines Effectively

 Longer programs are commonly split up into smaller programs, sometimes referred to as subroutines  Typical scenario: Main program passes information to a subroutine via argument list The subroutine performs calculations and returns results to main program

Using Subroutines Effectively  Why might subroutines be useful?

Sub MathOp() 'Demonstrates using subroutines 'Key Variables: ' Oper - math operation (* - + / ^) ‘Get input from spreadsheet A = Cells(1, 2) B = Cells(2, 2) Oper = Cells(2, 1) 'Call subroutine to perform calculation Call Calculate(A, B, Oper, C) 'Output results to spreadsheet Cells(3, 2) = C End Sub Sub Calculate(x, y, Oper, z) 'subroutine to perform math operation If Oper = "*" Then z = x * y ElseIf Oper = "-" Then z = x - y ElseIf Oper = "+" Then z = x + y ElseIf Oper = "/" Then z = x / y ElseIf Oper = "^" Then z = x ^ y Else MsgBox "Invalid Operation" z = "Error" End If End Sub

Example Problem  Write a program to convert a series of temperatures from Fahrenheit to Celsius, Kelvin, and Rankine using a main program and associated subroutines. The main program should call the following subroutines: GetInput – This subroutine loops to read temperatures from the spreadsheet, storing them in a dynamic array. ConvertTemp – This subroutine performs all the temperature conversions, and stores them in the dynamic array, utilizing custom temperature conversion functions. WriteOutput – This subroutine writes the contents of the array back to the spreadsheet.

Declaring Variables

 VBA supports a variety of Data Types, the most common being: Integer Single precision real Double precision real String Variant

Declaring Variables  If you don’t declare the data type for a variable, VBA uses the default data type of variant  Data stored as variant changes types depending on what you do with it  With variant data types, VBA automatically handles conversion  Trade-off is you sacrifice speed and memory

Why Declare Variables  Declaring variables makes your program run faster and use memory more efficiently  You may “force” yourself to declare all variables by including “Option Explicit” as the first statement of your VBA module Option Explicit  When this statement is present, you won’t be able to run your code if it contains any undeclared variables

Variable Declaration Examples  Dim x As Integer  Dim y As Single  Dim z As Double  Dim q As String  Dim a As Single, b As Single, c As Single

Life of Variables  Variables may declared at 3 levels Procedure Module All Modules  For our purposes, Procedure variables will be sufficient

Procedure Variables  Most efficient because VBA frees up the memory they use when the procedure ends  To declare, simply use the Dim statement within the procedure Dim x as Single

Static Variables  Static variables retain their value when the procedure ends Static B as Integer  Could be used to keep a running total or track the number of times a program is called  Variables are purged/reset when The workbook is closed or reopened The reset toolbar button is clicked When “end” statement/error message is executed

Review Questions

Review Questions Functions A function may be launched directly from a button on a spreadsheet or a hot-key? A.True B.False

Review Questions Functions Which of the following variables declarations are invalid: A.Dim A as Integer B.Dim A as Integer, B as Integer C.Dim A B as Integer D.Dim A as Integer, B as Double E.More than one of the above are invalid

Homework Help ‘n Hints