Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing arrays to a subroutine
Hello,
I have a simple question. I would like to know how to pass an array argument to a subroutine. I would like to do something like the example below illustrates. (The syntax for the below example is wrong and does not work but should show the simple thing I am trying to do.) I can program a workaround using ParamArray, but I would prefer not to pass my args in this way. Instead of listing all the args of my array in the ParamArray, I would prefer to pack them into an array and pass them to my subroutine using just the name of the array. Thanks in advance for any help with this matter. Braden Craig Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub (argArray) End Sub Public Sub testerSub(argArray() As Variant) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing arrays to a subroutine
Hi Braden,
This works for me: Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub argArray End Sub Public Sub testerSub(argArray() As Integer) Dim test1 As Integer Dim test2 As Integer test1 = argArray(0) test2 = argArray(1) Debug.Print test1, test2 End Sub -- Rob Bovey, MCSE, MCSD, Excel MVP Application Professionals http://www.appspro.com/ * Please post all replies to this newsgroup * * I delete all unsolicited e-mail responses * "Braden Craig" wrote in message ... Hello, I have a simple question. I would like to know how to pass an array argument to a subroutine. I would like to do something like the example below illustrates. (The syntax for the below example is wrong and does not work but should show the simple thing I am trying to do.) I can program a workaround using ParamArray, but I would prefer not to pass my args in this way. Instead of listing all the args of my array in the ParamArray, I would prefer to pack them into an array and pass them to my subroutine using just the name of the array. Thanks in advance for any help with this matter. Braden Craig Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub (argArray) End Sub Public Sub testerSub(argArray() As Variant) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) End Sub |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing arrays to a subroutine
Your code is almost right, the only change I made is I
removed the parenthesis around the argArray argument array when calling the testerSub procedure. Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub argArray End Sub Public Sub testerSub(argArray As Variant) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) End Sub -----Original Message----- Hello, I have a simple question. I would like to know how to pass an array argument to a subroutine. I would like to do something like the example below illustrates. (The syntax for the below example is wrong and does not work but should show the simple thing I am trying to do.) I can program a workaround using ParamArray, but I would prefer not to pass my args in this way. Instead of listing all the args of my array in the ParamArray, I would prefer to pack them into an array and pass them to my subroutine using just the name of the array. Thanks in advance for any help with this matter. Braden Craig Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub (argArray) End Sub Public Sub testerSub(argArray() As Variant) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) End Sub . |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing arrays to a subroutine
This worked fine for me:
Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub argArray End Sub Public Sub testerSub(argArray() As Integer) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) Debug.Print test1 Debug.Print test2 End Sub -- Regards, Tom Ogilvy Braden Craig wrote in message ... Hello, I have a simple question. I would like to know how to pass an array argument to a subroutine. I would like to do something like the example below illustrates. (The syntax for the below example is wrong and does not work but should show the simple thing I am trying to do.) I can program a workaround using ParamArray, but I would prefer not to pass my args in this way. Instead of listing all the args of my array in the ParamArray, I would prefer to pack them into an array and pass them to my subroutine using just the name of the array. Thanks in advance for any help with this matter. Braden Craig Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub (argArray) End Sub Public Sub testerSub(argArray() As Variant) Dim test1 As Integer, test2 As Integer test1 = argArray(0) test2 = argArray(1) End Sub |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Passing arrays to a subroutine
As does this:
Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 MsgBox testerSub(argArray) End Sub Public Function testerSub(inputArray As Variant) Dim test1 As Integer, test2 As Integer test1 = inputArray(0) test2 = inputArray(1) testerSub = test1 & " " & test2 End Function Alan Beban Rob Bovey wrote: Hi Braden, This works for me: Public Sub arrayPass() Dim argArray(3) As Integer argArray(0) = 12 argArray(1) = 13 testerSub argArray End Sub Public Sub testerSub(argArray() As Integer) Dim test1 As Integer Dim test2 As Integer test1 = argArray(0) test2 = argArray(1) Debug.Print test1, test2 End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Call a subroutine using variable subroutine name | Excel Discussion (Misc queries) | |||
Stopping a userform subroutine | Excel Discussion (Misc queries) | |||
SUBROUTINE HELP | Excel Discussion (Misc queries) | |||
passing arrays to user defined functions | Excel Worksheet Functions | |||
How do I exit a macro subroutine? | Excel Worksheet Functions |