Standard Vba

  • Uploaded by: Sherwin
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Standard Vba as PDF for free.

More details

  • Words: 840
  • Pages: 21
MS Visual Basic Applications

Walter Milner

Event-driven programming      

Standard approach for GUIs Contrast with old character interfaces – program determines what happens In GUI, the user triggers what application does (mostly) Event examples are key press, mouse move, timer timeouts Correspond to native Windows Messages (next slide) Event handler = a subroutine which will execute when that event happens

Variables    

Dim x as Integer Dim x,y as Integer NO! Is case sensitive (kind of) Variable naming conventions

• •



Microsoft Simonyi Hungarian Reddick House rules

Assignment statement – x=4

 

Option Explicit YES! Constants – Private Const MyInt As Integer = 5

Comments, line continuation and hex

 Comments

start with an apostrophe  'and run to the end of the line  A very long statement can use a_ to continue onto the next line  Hex constants written like &HFF0012

Data types         

Integer Long Single Double Currency Byte unsigned 0 - 255 String Boolean Date Object Variant NO!

Data type conversion DIM x as integer x = Cint("10") Conversion function

Converts an expression to

Cbool

Boolean

Cbyte

Byte

Ccur

Currency

Cdate

Date

CDbl

Double

Cint

Integer

CLng

Long

CSng

Single

CStr

String

Cvar

Variant

CVErr

Error

Controls Private Sub CommandButton1_Click() Dim x As Integer Dim y As Integer Dim z As Integer x = TextBox1.Value y = TextBox2.Value z=x+y Label1.Caption = z End Sub

Copy this Correct it Add other buttons

VB Core II

 Conditional

statements  Exception handling  Loops  Arrays  Debugging

if statements If c > 5 Then x = 1: y = 3 If c > 5 Then x=1 y=3 End If If c > 5 Then x=1 y=3 Else z=7 End If

If c > 5 Then x=1 y=3 ElseIf c = 4 Then z=7 Else x=9 End If

select

Dim Number Number = 8 ' Initialize variable. Select Case Number ' Evaluate Number. Case 1 To 5 ' Number between 1 and 5, inclusive. x=4 Case 6, 7, 8 ' Number between 6 and 8. x=5 Case 9 To 10 ' Number is 9 or 10. x=6 Case Else ' Other values. x=7 End Select

Error and exception handling  exception

= problem event at run-time  usually related to I/O  eg file not found, server connection lost, invalid user input  not a programming bug  VB calls exception errors  (Unlike Java) VB does not force exception handling – but should do

Error handlers – example - invalid numbers Private Sub Command1_Click() Dim num1 As Integer Dim num2 As Integer Dim result As Integer On Error GoTo myErrorHandler num1 = Textbox1.Text num2 = Textbox2.Text result = num1 + num2 Label1.Caption = result Exit Sub

Exercise Try this out in the calculator program Then deal with divide by zero (11)

myErrorHandler: If Err.Number = 13 Then MsgBox ("Please enter a valid number") Else MsgBox (Err.Description) End If Resume Next End Sub

For next loops Dim x as Integer, total As Integer total = 0 For x = 1 To 5 total = total + x Next

Dim x as Integer, total As Integer total = 0 For x = 1 To 5 Step 2 total = total + x Next

Debugging

Exercises – Use the debugger to watch.. a

for next loop looping from 1 to 5  outputting the multiples of 3 from 99 to 3  adding up the odd numbers between 1 and 9

Other loops Dim c As Integer c=1 Do While c < 5 c=c+1 Loop

Dim c As Integer c=1 Do c=c+1 Loop While c < 5

Dim c As Integer c=1 Do Until c >4 c=c+1 Loop

Dim c As Integer, x as integer c=1 x=2 Do c=c+1 Loop Until c>4 And x<>3

Arrays (fixed size) Dim x(100) As Integer Dim i As Integer For i = 0 To 100 x(i) = 99 Next

Exercise – use the debugger – check each stage

 Fill

an array with 25 random integers in the range 1 to 100 (Rnd() gives a random single between 0 and 1 )  Find the total  Find the largest  Search the array for a value given in cell(1,1)

Arrays (2 d) Dim x(1 To 3, 1 To 3) As Integer Dim i as integer, j As Integer For i = 1 To 3 For j = 1 To 3 x(i, j) = 99 Next Next

Dynamic arrays Dim x() As Integer ReDim x(5) Dim i, j As Integer For i = 1 To 5 x(i) = 99 Next ReDim Preserve x(10) For i = 6 To 10 x(i) = 100 Next

Exercise Use the =RAND() function to fill a column of a sheet with 20 random numbers Then set up a button and write VB code which will – •read those 20 numbers into an array •sort the array into increasing order (bubblesort) •display the numbers in the next column of the spreadsheet

Related Documents

Standard Vba
May 2020 14
Vba Word.docx
December 2019 18
Vba Course
May 2020 5
Vba Combo
October 2019 39
Validatefile Vba
June 2020 10
Usando Vba
November 2019 22

More Documents from ""

Standard Vba
May 2020 14
Itethic-used Case
December 2019 23
Economic Games
October 2019 43