Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Passing large number of variables to function

Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as there
will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT then
has to be declared publicly to be accessible
from the different modules. This seems to be against the general principle
that the number of public variables should be as small as possible.
Another option would be to use a number of arrays, one for each datatype,
but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 146
Default Passing large number of variables to function

I'd say you should either do the array coding, or perhaps investigate
passing all the variables within a collection.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


RB Smissaert wrote:

Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as
there will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT
then has to be declared publicly to be accessible
from the different modules. This seems to be against the general
principle that the number of public variables should be as small as
possible.
Another option would be to use a number of arrays, one for each
datatype, but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Passing large number of variables to function

Thanks, maybe the different arrays are indeed the best option. At least it
will keep all the variables local.
If I want to keep the meaningful variable names though it would involve
quite a bit of coding like:

In the Subs:

arr1(0) = var0
arr1(1) = var1
arr2(0) = var2
etc.

and the reverse process in the function.

Would it somehow be possible to loop through a number of variables, I mean
the usual variables declared
like: dim strVar1 as String?

RBS


"Jon Peltier" wrote in message
...
I'd say you should either do the array coding, or perhaps investigate
passing all the variables within a collection.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


RB Smissaert wrote:

Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as
there will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT then
has to be declared publicly to be accessible
from the different modules. This seems to be against the general
principle that the number of public variables should be as small as
possible.
Another option would be to use a number of arrays, one for each datatype,
but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Passing large number of variables to function

I could automate the coding of all this (the array method) in the Sheet and
then paste to the VBE, that should be simple and quick.

RBS

"Jon Peltier" wrote in message
...
I'd say you should either do the array coding, or perhaps investigate
passing all the variables within a collection.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______


RB Smissaert wrote:

Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as
there will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT then
has to be declared publicly to be accessible
from the different modules. This seems to be against the general
principle that the number of public variables should be as small as
possible.
Another option would be to use a number of arrays, one for each datatype,
but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,440
Default Passing large number of variables to function

You can declare the Type Publicly, but Dim the variables of that type
Locally

--
Kind regards,

Niek Otten

Microsoft MVP - Excel

"RB Smissaert" wrote in message
...
Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as there
will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT then
has to be declared publicly to be accessible
from the different modules. This seems to be against the general principle
that the number of public variables should be as small as possible.
Another option would be to use a number of arrays, one for each datatype,
but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,452
Default Passing large number of variables to function

Yes, I can now see the pros and cons of both methods.
The array method will involve more code, but it looks a bit cleaner (less
dots as well) and I will try that first.

RBS

"Niek Otten" wrote in message
...
You can declare the Type Publicly, but Dim the variables of that type
Locally

--
Kind regards,

Niek Otten

Microsoft MVP - Excel

"RB Smissaert" wrote in message
...
Trying to find the best solution to the following:
I have a number of Subs in different modules that are using the same
function.
These Subs have to pass a large number of variables of different types
(boolean, byte, long, string) to this function.
I can't use these variables directly as arguments in the function as
there will be an error, number of arguments too large.
I could solve this by making a UDT, but the problem is that this UDT then
has to be declared publicly to be accessible
from the different modules. This seems to be against the general
principle that the number of public variables should be as small as
possible.
Another option would be to use a number of arrays, one for each datatype,
but this involves a lot more coding.
Any suggestions what the best approach is for this?

RBS




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to embed large number of variables in text inside a text box? Riva Chase Excel Discussion (Misc queries) 0 October 30th 07 01:42 AM
Passing Variables Jeff Excel Discussion (Misc queries) 1 November 4th 05 06:46 PM
VBA passing variables through a function Jeff Excel Discussion (Misc queries) 2 November 3rd 05 11:23 PM
Passing Variables Paula[_3_] Excel Programming 1 August 23rd 04 06:55 PM
Passing Variables Royce[_2_] Excel Programming 1 November 20th 03 02:16 PM


All times are GMT +1. The time now is 04:08 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"