View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Curt Curt is offline
external usenet poster
 
Posts: 469
Default array function for multidimensional arrays

I have never built an array. If i understand from your post the "A"
represents column. If ciorrect how do you get to the row. What i am after is
to copy 7 cells in a row to a different wksh this row changes with each entry
and would be triggered by entry in column 'J'. Also "J" value must be reduced
by 10.00 "J" is formated to currency wksh's to copy to have first row frozen
for labeld & scrolling. Would need next row or insert a row on sheets copied
to. Have this code to start with

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal target As
Range)
Select Case Sh.Name
Case "Data", "Motorcycle", "Indian", "Native"
'1=data 6=Motorcycle 7=Indian 8=Native nbrs are for sheets
If target.Column = 10 And target.Value 10 Then _
Call CopyStuff(target)
End Select
End Sub

want to copy Data cells in row colmn E F G H I J-10.00 K
to donors wksh to next open row in wksh
If we can make it happen once I feel i can repeat for other sheets.
will need to modify for < 10.00 to different sheet My challenge is to modify
for needed change.
Old dog new tricks
Thanks in advance
..
"Bob Phillips" wrote:

That doesn't actually create a 2d array, rather it creates an array of
arrays. Instead of indexing like rbetuk(1,2) you have to use rbetuk(1)(2),
not a great problem, but not as we are taught to index into arrays (more
like Javascript multi-dimensional arrays).

This gives standard 2d arrays, bujt is limited in how big the array can be

rdetuk = ActiveSheet.Evaluate("{""A"",""B"",""C"";""D"", ""E"", ""F"";""G"",
""H"", ""I""}")

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)



"Jay" wrote in message
...
Try using arrays themselves as arguments:

rbetuk = Array(Array("A", "B", "C"), Array("D", "E", "F"), Array("G", "H",
"I"))

You can test this by reading the array 'in' and 'out' with the following
test code:

Sub stefi()
rbetuk = Array(Array("A", "B", "C"), _
Array("D", "E", "F"), _
Array("G", "H", "I"))
For Each itm In rbetuk
For Each itm2 In itm
MsgBox itm2
Next 'itm2
Next 'itm
End Sub

--
Jay


"Stefi" wrote:

Hi All,

rbetuk = Array("A", "B", "C")

is a very convenient way of creating arrays, but it creates only a 3x1
dimension array. Can I declare a 3x2 or 3x3 dimension array in this way?


Thanks,
Stefi