What I have is the 8 assembly lines and 3 shifts each. I don't want to copy and paste code for each line so I was trying to concatenate the varible name with a loop. I have a table with line rates that I can pull from our server into excel but the list is all shifts all lines and there are some quirks in it's display that I have to programatically fill in.

So I want to concatenate rLine# as the line number and then the array value is the shift rate.

'Array index = shift
Dim rLine1(1 To 3)
Dim rLine2(1 To 3)
Dim rLine3(1 To 3)
Dim rLine4(1 To 3)
Dim rLine5(1 To 3)
Dim rLine6(1 To 3)
Dim rLine7(1 To 3)
'Line 10
Dim rLine8(1 To 3)





Cells(2, "o").Select
'Find today's entry
Do Until ActiveCell.Value = Cells(1, "L")
 a = a + 1
 ActiveCell.Offset(1, 0).Activate
Loop
'Compile shifts
rateoff = 2
For aLine = 1 To 8
 rateoff = 2
 prdline = "rLine" & Str$(aLine)
 prdline = Replace(prdline, " ", "")
 For shift = 1 To 3
  If ActiveCell.Offset(0, rateoff).Value = "" Then
   prdline(shift) = 0
  Else
   prdline(shift) = ActiveCell.Offset(0, rateoff).Value
  End If
  rateoff = rateoff + 4
 Next shift
Next aLine
How do I get prdline to pass its value to the array and not the name prdline? I get a type mismatch because prdline isn't defined as an array (I assume) When I do a "print prdline" in the immediate window I get "rLine1" which is exactly what I want. The next loop would be rLine2... etc. rLine1(1) would be our line rate for shift one rLine1(2) is 2nd shift and rLine1(3) is the line rate for 3rd shift. Then go to rLine2(1)...etc

Thank you!