The company I'm doing this project for is a healthcare company, so I'm
under an NDA and wouldn't want to post too much of the code (the one
below is fine, because SBU is a term used by everyone). When I get
back to work, I can post more code (after masking variables, etc), but
is this sufficient?

Sheets(SBUarraySheet).Select
y = xlLastRow                  ' y = numbers of rows
x = xlLastCol                  ' x = number of cols

Dim SBU() As Variant
SBU = Range(Cells(2, 2), Cells(y, x)).Value

then later on, the SBU variable is references in a loop which goes to
certain tabs (and does a certain filter), based on the contents of the
SBU array variable.



On Jun 4, 11:42 am, Paul Schreiner <schreiner_p...@att.net> wrote:
> if you'll show me the code you're using,
> I'll rewrite it to access the cells directly.
>
> Paul
>
> ________________________________
> From: molinari <dh0...@gmail.com>
> To: MS EXCEL AND VBA MACROS <excel-macros@googlegroups.com>
> Sent: Fri, June 4, 2010 11:26:38 AM
> Subject: Re: $$Excel-Macros$$ reading excel worksheet into an array?
>
> Well., I don't expect the array to ever reach even hundreds of rows or
> columns. Right now, the largest array has 4 columns and 8 rows. I
> don't expect it to get much larger.
>
> How would I do it by processing the range values directly?
>
> The reason I liked the method I'm using is because the code is very
> simple.
>
> On Jun 3, 1:49 pm, Paul Schreiner <schreiner_p...@att.net> wrote:
>
>
>
> > It's really going to depend on what you're doing.
>
> > Initially, it seems that  you're wasting effort.
>
> > You're:
> > 1) defining a range,
> > 2) copying the range values into an array,
> > 3) processing the array.
> > why not simply process the range values?
>
> > at the same time, it may require more cpu cycles to compare a range().value 
> > to some value
> > than it does to compare an array element sbu(x) = ?? .
> > so, looping through tens of thousands of records MIGHT be CPU - time 
> > consuming.
>
> > I may play with it and see what I can determine.
>
> > thanks for the puzzle!!!
>
> > Paul
>
> > ________________________________
> > From: molinari <dh0...@gmail.com>
> > To: MS EXCEL AND VBA MACROS <excel-macros@googlegroups.com>
> > Sent: Thu, June 3, 2010 12:07:32 PM
> > Subject: Re: $$Excel-Macros$$ reading excel worksheet into an array?
>
> > Thanks. All that I'm using the array for is to go through a loop, and
> > for each value in the array, to do particular things to particular
> > tabs (which are determined solely by the array values). I found out
> > what was causing me problems: my xlLastCol function was not working,
> > and returning a last column of "0". Hence, the array was running into
> > out of range problems.
>
> > After fixing the xlLastCol function, what I did was this:
>
> > Sheets(SBUarraySheet).Select
> > y = xlLastRow                  ' y = numbers of rows
> > x = xlLastCol                  ' x = number of cols
>
> > Dim SBU() As Variant
> > SBU = Range(Cells(2, 2), Cells(y, x)).Value
>
> > This works, but sets the array base to 1 (I put Option Base 1 at the
> > beginning of the module just to remind myself of that). It seems
> > really simple, easy to follow, and nice. I tested it with my macro,
> > and it works perfeclty (tested the values using Msg, then ran the
> > macro, and it worked just the same as the array specified manually in
> > the VBA code).
>
> >http://www.codeforexcelandoutlook.com/blog/2008/09/reading-worksheet-...
>
> > Any reason not to use that method?
>
> > On Jun 3, 10:17 am, Paul Schreiner <schreiner_p...@att.net> wrote:
>
> > > in order to give you a recommendation that has any value,
> > > I need to know what you plan to do with the array.
>
> > > Your example indicates that you want to create an array
> > > and populate it with the contents? of a range consisting of all cells 
> > > with values.
> > > Of course, when more data is added, the array size changes...
>
> > > ok, that's possible, but not the way you want it to.
>
> > > the way you change an array size is using ReDim:
> > > '-------------------------------------------------------------------------
> > > Option Explicit
> > > Dim ClaimProvider()
> > > Sub ResizeArray()
> > >     Dim rCnt, cCnt
> > >     Dim R, C
> > >     ReDim ClaimProvider(1, 1)
> > >     Sheets("Data").Select
> > >     rCnt = ActiveCell.SpecialCells(xlLastCell).Row
> > >     cCnt = ActiveCell.SpecialCells(xlLastCell).Column
> > >    
> > >     ReDim ClaimProvider(rCnt, cCnt)
> > >     For R = 2 To rCnt
> > >         If (R Mod 100 = 0) Then Application.StatusBar = "Loaded " & R & " 
> > > of " & rCnt
> > >         For C = 1 To cCnt
> > >             ClaimProvider(R, C) = Sheets("Data").Cells(R, C).Value
> > >         Next C
> > >     Next R
> > >     Application.StatusBar = False
> > >     MsgBox R & " rows loaded"
> > > End Sub 
> > > '-------------------------------------------------------------------------
> > >  Now, if what you're really trying to do is to define a dynamic RANGE, 
> > > then use:
> > > '-------------------------------------------------------------------------
> > > Option Explicit
> > > Sub DefineRange()
> > >     Dim rCnt, cCnt, ClaimProviderRange As Range
> > >     Sheets("Data").Select
> > >     rCnt = ActiveCell.SpecialCells(xlLastCell).Row
> > >     cCnt = ActiveCell.SpecialCells(xlLastCell).Column
> > >    
> > >     Set ClaimProviderRange = Sheets("Data").Range(Cells(1, 1), 
> > > Cells(rCnt, cCnt))
> > >     MsgBox ClaimProviderRange.Rows.Count
> > > End Sub 
> > > '-------------------------------------------------------------------------
> > > In this case, the variable ClaimProviderRange works the same as any Range 
> > > object.
>
> > > ClaimProviderRange(1,5).value gives you the value of cell E1
>
> > > what you're DOING with the array or range will determine the best method 
> > > for defining it.
>
> > > hope this helps.
>
> > > Paul
>
> > >  
>
> > > ________________________________
> > > From: molinari <dh0...@gmail.com>
> > > To: MS EXCEL AND VBA MACROS <excel-macros@googlegroups.com>
> > > Sent: Wed, June 2, 2010 3:59:56 PM
> > > Subject: $$Excel-Macros$$ reading excel worksheet into an array?
>
> > > Hi all, I want to create an array in VBA such that typical end-users
> > > can modify what goes into the array without knowing code (or looking
> > > at it). Hence, I want the array to read the contents of a worksheet,
> > > excluding the first column and first row (which are labels).
>
> > > i.e., I want to read the following into the array, but not including
> > > the first row or the first column
> > > # ;     Tab (0) ;     Code (1);     Chart (2)
> > > 0 ;     Tab1 ;     A ;     "A Chart"
> > > 1 ;     Tab2 ;     P ;     "P Chart"
>
> > > and the # of rows and columns may increase, as we get more
> > > categories.
>
> > > How can I accomplish this?
>
> > > I've tried the following, but run into errors:
>
> > > Sheets("My Sheet").Select
> > > Dim y As Variant
> > > Dim x As Variant
> > > y = xlLastRow
> > > x = xlLastCol
> > > Dim ClaimProvider() As Variant
> > > ClaimProvider = Range(Cells(2, 2), Cells(y, x))
>
> > > This isn't working, and gives me errors. (xlLastRow and xlLastCol are
> > > custom functions that find the last row and last column on a worksheet)
>
> > > --
> > > ---------------------------------------------------------------------------­­-------
> > > Some important links for excel users:
> > > 1. Follow us on TWITTER for tips tricks and links 
> > > :http://twitter.com/exceldailytip
> > > 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310
> > > 3. Excel tutorials athttp://www.excel-macros.blogspot.com
> > > 4. Learn VBA Macros athttp://www.quickvba.blogspot.com
> > > 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com
>
> > > To post to this group, send email to excel-macros@googlegroups.com
>
> > > <><><><><><><><><><><><><><><><><><><><><><>
> > > HELP US GROW !!
>
> > > We reach over 7000 subscribers worldwide and receive many nice notes 
> > > about the learning and support from the group.Let friends and co-workers 
> > > know they can subscribe to group 
> > > athttp://groups.google.com/group/excel-macros/subscribe
>
> > --
> > ---------------------------------------------------------------------------­-------
> > Some important links for excel users:
> > 1. Follow us on TWITTER for tips tricks and links 
> > :http://twitter.com/exceldailytip
> > 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310
> > 3. Excel tutorials athttp://www.excel-macros.blogspot.com
> > 4. Learn VBA Macros athttp://www.quickvba.blogspot.com
> > 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com
>
> > To post to this group, send email to excel-macros@googlegroups.com
>
> > <><><><><><><><><><><><><><><><><><><><><><>
> > HELP US GROW !!
>
> > We reach over 7000 subscribers worldwide and receive many nice notes about 
> > the learning and support from the group.Let friends and co-workers know 
> > they can subscribe to group 
> > athttp://groups.google.com/group/excel-macros/subscribe-Hide quoted text -
>
> > - Show quoted text -
>
> --
> ----------------------------------------------------------------------------------
> Some important links for excel users:
> 1. Follow us on TWITTER for tips tricks and links 
> :http://twitter.com/exceldailytip
> 2. Join our LinkedIN group @http://www.linkedin.com/groups?gid=1871310
> 3. Excel tutorials athttp://www.excel-macros.blogspot.com
> 4. Learn VBA Macros athttp://www.quickvba.blogspot.com
> 5. Excel Tips and Tricks athttp://exceldailytip.blogspot.com
>
> To post to this group, send email to excel-macros@googlegroups.com
>
> <><><><><><><><><><><><><><><><><><><><><><>
> HELP US GROW !!
>
> We reach over 7000 subscribers worldwide and receive many nice notes about 
> the learning and support from the group.Let friends and co-workers know they 
> can subscribe to group athttp://groups.google.com/group/excel-macros/subscribe

-- 
----------------------------------------------------------------------------------
Some important links for excel users:
1. Follow us on TWITTER for tips tricks and links : 
http://twitter.com/exceldailytip
2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310
3. Excel tutorials at http://www.excel-macros.blogspot.com
4. Learn VBA Macros at http://www.quickvba.blogspot.com
5. Excel Tips and Tricks at http://exceldailytip.blogspot.com
 
To post to this group, send email to excel-macros@googlegroups.com

<><><><><><><><><><><><><><><><><><><><><><>
HELP US GROW !!

We reach over 7000 subscribers worldwide and receive many nice notes about the 
learning and support from the group.Let friends and co-workers know they can 
subscribe to group at http://groups.google.com/group/excel-macros/subscribe

Reply via email to