You don't need an array for that, just copy E:K over, and reduce J by 10
afterwards
Sh.Range("E" & Target.Row).Resize(,7).Copy wkSh.Range("A" & iNextFreeRow)
wkSh.Range("F" & iNextFreeRow).Value = wkSh.Range("F" &
NextFreeRow).Value - 10
--
---
HTH
Bob
(there's no email, no snail mail, but somewhere should be gmail in my addy)
"Curt" <(E-Mail Removed)> wrote in message
news:2E8EC5BB-944E-44E4-8DD9-(E-Mail Removed)...
>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" <(E-Mail Removed)> wrote in message
>> news:2DA08C28-BF46-47E5-9804-(E-Mail Removed)...
>> > 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
>> >>
>> >>
>>
>>
>>