ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA passing vector from spreadsheet to array (https://www.excelbanter.com/excel-programming/300140-vba-passing-vector-spreadsheet-array.html)

curious

VBA passing vector from spreadsheet to array
 
Hi all,


What is the proper way (best way) how to pass date vector fro
spreadsheet to a date vector inside VBA?


Ideally I would like to have something like this:



Code
-------------------

Public Function foo(inputVector() As Date)

Dim firstDate As Date
firstDate=inputVector(1)

...

End Function

-------------------



but this does not work.

Thanks

--
Message posted from http://www.ExcelForum.com


Bob Phillips[_6_]

VBA passing vector from spreadsheet to array
 
I think that you need to pass the array and then process that for dates.

This is an example of handling an array

Function test(a)
Dim i As Long
Dim maxVal
For i = LBound(a, 1) To UBound(a, 1)
If a(i) maxVal Then
maxVal = a(i)
End If
Next i
test = maxVal
End Function


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"curious " wrote in message
...
Hi all,


What is the proper way (best way) how to pass date vector from
spreadsheet to a date vector inside VBA?


Ideally I would like to have something like this:



Code:
--------------------

Public Function foo(inputVector() As Date)

Dim firstDate As Date
firstDate=inputVector(1)

...

End Function

--------------------



but this does not work.

Thanks,


---
Message posted from http://www.ExcelForum.com/




Tom Ogilvy

VBA passing vector from spreadsheet to array
 
Sub Main()
dim arrDate(1 to 10) as Date
i = 0
for each cell in Range("A1:A10)
i = i + 1
arrDate(i) = Cell.Value
Next
Foo arrDate

End Sub

If you want to put values from a worksheet into other than a variant, you
have to do it a cell at a time.

--
Regards,
Tom Ogilvy


"curious " wrote in message
...
Hi all,


What is the proper way (best way) how to pass date vector from
spreadsheet to a date vector inside VBA?


Ideally I would like to have something like this:



Code:
--------------------

Public Function foo(inputVector() As Date)

Dim firstDate As Date
firstDate=inputVector(1)

...

End Function

--------------------



but this does not work.

Thanks,


---
Message posted from http://www.ExcelForum.com/




Alan Beban[_2_]

VBA passing vector from spreadsheet to array
 
If the functions in the freely downloadable file at
http://home.pacbell.net/beban are available to your workbook, doing it a
cell at a time is built in to the Assign function:

Sub Main()
Dim arrDate() As Date
Assign MakeArray(Range("A1:J1"),1), arrDate
End Sub

The MakeArray function converts the input to a 1-dimensional array. If
the input is single-column range, the following also works:

Sub Main()
Dim arrDate() As Date
Assign Application.Transpose(Range("A1:A10")), arrDate
End Sub

Alan Beban

Tom Ogilvy wrote:

Sub Main()
dim arrDate(1 to 10) as Date
i = 0
for each cell in Range("A1:A10)
i = i + 1
arrDate(i) = Cell.Value
Next
Foo arrDate

End Sub

If you want to put values from a worksheet into other than a variant, you
have to do it a cell at a time.



All times are GMT +1. The time now is 11:13 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com