Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
It seems that it is not possible to pass multiple string arguments to a
function in vba. I am using vba in Excel 2000. Why does this not work? Dim testStr1 Dim testStr2 testStr1 = "hi" testStr2 = "there" ' I get a compile error on the next statement TestSub(testStr1, testStr2) Sub TestSub(str1 as String, str2 as String) MsgBox(str1 & str2) End sub Thanks, Tijmen |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I would specify the variable types like so:
Dim testStr1 As String Dim testStr2 As String Then, you must use the "Call" key word when referencing a function with arguments like so: Call TestSub(testStr1, testStr2) HTH. "Tijmen" wrote: It seems that it is not possible to pass multiple string arguments to a function in vba. I am using vba in Excel 2000. Why does this not work? Dim testStr1 Dim testStr2 testStr1 = "hi" testStr2 = "there" ' I get a compile error on the next statement TestSub(testStr1, testStr2) Sub TestSub(str1 as String, str2 as String) MsgBox(str1 & str2) End sub Thanks, Tijmen |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This worked ok for me:
Option Explicit Sub test1() Dim testStr1 As String Dim testStr2 As String testStr1 = "hi" testStr2 = "there" TestSub testStr1, testStr2 End Sub Sub TestSub(str1 As String, str2 As String) MsgBox (str1 & str2) End Sub TestSub was expecting strings. You were passing two variants Dim testStr1 Dim testStr2 is the equivalent of: Dim testStr1 as variant Dim testStr2 as variant I could have also used: TestSub cstr(testStr1), cstr(testStr2) and kept the variables as variants. Tijmen wrote: It seems that it is not possible to pass multiple string arguments to a function in vba. I am using vba in Excel 2000. Why does this not work? Dim testStr1 Dim testStr2 testStr1 = "hi" testStr2 = "there" ' I get a compile error on the next statement TestSub(testStr1, testStr2) Sub TestSub(str1 as String, str2 as String) MsgBox(str1 & str2) End sub Thanks, Tijmen -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Subs are called without enclosing the parameter list in parentheses
(which is probably what the error message was telling you), unless you use the Call statement, so you need either: TestSub testStr1, testStr2 or Call TestSub(testStr1, testStr2) Andrew Taylor Tijmen wrote: It seems that it is not possible to pass multiple string arguments to a function in vba. I am using vba in Excel 2000. Why does this not work? Dim testStr1 Dim testStr2 testStr1 = "hi" testStr2 = "there" ' I get a compile error on the next statement TestSub(testStr1, testStr2) Sub TestSub(str1 as String, str2 as String) MsgBox(str1 & str2) End sub Thanks, Tijmen |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Passing Strings from UserForm to Module | Excel Programming | |||
Passing array of strings from DLL function to VBA | Excel Programming | |||
passing strings | Excel Programming | |||
passing strings | Excel Programming | |||
passing strings | Excel Programming |