Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Dynamic Creation of Arrays - Sorting into Bins problem

Hi

In my vba code, I have an array of "structures", where the structure
has several fields including a User Name and other parameters. The
list is effectively unsorted as it has been created by reading a file
that contains entries in chronological order.

So far so good.

What I now want to do is to go through this array and produce a set of
new arrays, one per individual User Name, which each contain entries
from the original array that are specific to that UserName.

I also want to maintain a further array which keeps track of all of
the User specific arrays I have created.

This is a classic issue of processing a list into bins, dynamically
creating and reallocating the result bins as each item in the original
list is processed. I would have no problem implementing this in C,C++,
or Java, but I am unsure as to how to create an array from thin air at
run time in VBA.

I do not want to use magic numbers to create a "large enough" array,
as I would like this solution to be scalable.

Can anyone either describe how to create arrays completely dynamically
in vba, or point me at code which handles the sorting into bins
problem.

Thanks

Chris
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,549
Default Dynamic Creation of Arrays - Sorting into Bins problem

A very good place to start are these 3 subject areas in Excel VBA help...
Using Arrays
Declaring Arrays
Understanding Parameter Arrays
'---
Sub Demo()
Dim aThinAir() As String
Dim x As Long
Dim y As Long
Dim z As Long

x = 10: y = 5: z = 5
ReDim aThinAir(1 To x, 1 To y, 1 To z)
aThinAir(1, 2, 3) = "sludge"

MsgBox aThinAir(1, 2, 3)
End Sub
'---
Jim Cone
Portland, Oregon USA .
http://www.mediafire.com/PrimitiveSoftware .
(free and commercial excel programs)





"Chris Flockhart"
wrote in message
...
Hi

In my vba code, I have an array of "structures", where the structure
has several fields including a User Name and other parameters. The
list is effectively unsorted as it has been created by reading a file
that contains entries in chronological order.

So far so good.

What I now want to do is to go through this array and produce a set of
new arrays, one per individual User Name, which each contain entries
from the original array that are specific to that UserName.

I also want to maintain a further array which keeps track of all of
the User specific arrays I have created.

This is a classic issue of processing a list into bins, dynamically
creating and reallocating the result bins as each item in the original
list is processed. I would have no problem implementing this in C,C++,
or Java, but I am unsure as to how to create an array from thin air at
run time in VBA.

I do not want to use magic numbers to create a "large enough" array,
as I would like this solution to be scalable.

Can anyone either describe how to create arrays completely dynamically
in vba, or point me at code which handles the sorting into bins
problem.

Thanks

Chris



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,514
Default Dynamic Creation of Arrays - Sorting into Bins problem

on 8/11/2011, Chris Flockhart supposed :
Hi

In my vba code, I have an array of "structures", where the structure
has several fields including a User Name and other parameters. The
list is effectively unsorted as it has been created by reading a file
that contains entries in chronological order.

So far so good.

What I now want to do is to go through this array and produce a set of
new arrays, one per individual User Name, which each contain entries
from the original array that are specific to that UserName.

I also want to maintain a further array which keeps track of all of
the User specific arrays I have created.

This is a classic issue of processing a list into bins, dynamically
creating and reallocating the result bins as each item in the original
list is processed. I would have no problem implementing this in C,C++,
or Java, but I am unsure as to how to create an array from thin air at
run time in VBA.

I do not want to use magic numbers to create a "large enough" array,
as I would like this solution to be scalable.

Can anyone either describe how to create arrays completely dynamically
in vba, or point me at code which handles the sorting into bins
problem.

Thanks

Chris


Jim's suggestion is indeed a good place to start!

Typically, I dump the file contents into a Variant (causing a dynamic
array) using the Split() function and specifying vbCrLf as the
delimiter. My files include headings (field names) in the first line,
but this is not necessary if, as you say, the data is structured.

Each line of the file contains a 'record' where each field of data is
delimited by a comma (or some other character). Looping the dynamic
array lets me Split() each element into a temp array to process it
however I need.

Perhaps this approach might work for you.

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup! comp.lang.basic.visual.misc


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
Dynamic Formula Creation?? [email protected] Excel Discussion (Misc queries) 2 October 27th 06 09:14 AM
Dynamic button creation mazzarin Excel Programming 6 July 24th 06 08:33 PM
Commandbars dynamic menu creation problem GusEvans Excel Programming 6 April 6th 06 07:21 PM
ASP Dynamic Excel Creation Chris Oswald Excel Programming 0 November 9th 04 05:27 PM
Dynamic Creation of borders Tyrusst Excel Programming 1 October 15th 03 12:47 PM


All times are GMT +1. The time now is 02:23 AM.

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"