Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Initializing static variables in VBA
Hi,
I am writing a static procedure as follows: Sub Test call Counter call Counter call Counter End Sub Counter() Static counter as Integer counter = counter + 1 Debug.print x End Sub I want to print a series of numbers 12,13,14, from the test procedure instead of 1,2,3 . How do i go about doing it ? In other words, how do i initialize a static variable in a Sub procedure ? Thanks. -- Regards, Adrian |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Initializing static variables in VBA
Why not check to see if the variable is empty or a value
that you desire, for example: Sub Counter() Static counter as Integer 'Assign a value to counter if empty or less than 11. If counter = "" or counter < 11 Then counter = 11 End If counter = counter + 1 'counter now equals 12 Debug.print x End Sub -----Original Message----- Hi, I am writing a static procedure as follows: Sub Test call Counter call Counter call Counter End Sub Counter() Static counter as Integer counter = counter + 1 Debug.print x End Sub I want to print a series of numbers 12,13,14, from the test procedure instead of 1,2,3 . How do i go about doing it ? In other words, how do i initialize a static variable in a Sub procedure ? Thanks. -- Regards, Adrian . |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Initializing static variables in VBA
Sub Test()
Call counter(12) Call counter Call counter End Sub Sub counter(Optional InitSet As Variant) Static counter As Integer If Not IsMissing(InitSet) Then counter = InitSet - 1 End If counter = counter + 1 Debug.Print counter End Sub -- Regards, Tom Ogilvy "Adrian" wrote in message ... Hi, I am writing a static procedure as follows: Sub Test call Counter call Counter call Counter End Sub Counter() Static counter as Integer counter = counter + 1 Debug.print x End Sub I want to print a series of numbers 12,13,14, from the test procedure instead of 1,2,3 . How do i go about doing it ? In other words, how do i initialize a static variable in a Sub procedure ? Thanks. -- Regards, Adrian |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Initializing static variables in VBA
You cannot initialize a static variable in VB per se, but ...
Sub Counter() Static counter as Integer If counter < 12 Then counter = 12 Else counter = counter + 1 End If Debug.print x End Sub BTW, a Long has a larger range than an Integer, if it matters. "Adrian" wrote in message ... Hi, I am writing a static procedure as follows: Sub Test call Counter call Counter call Counter End Sub Counter() Static counter as Integer counter = counter + 1 Debug.print x End Sub I want to print a series of numbers 12,13,14, from the test procedure instead of 1,2,3 . How do i go about doing it ? In other words, how do i initialize a static variable in a Sub procedure ? Thanks. -- Regards, Adrian |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
XL 07 Initializing Folders | Excel Discussion (Misc queries) | |||
Static Variables | Excel Programming | |||
Static variables | Excel Programming | |||
Static variables | Excel Programming | |||
Initializing User Forms | Excel Programming |