Welcome to the Forum
Some comments that I hope answer your questions
'always a good idea since it means you MUST dim all valiables - check Help
Option Explicit
Sub TwoDimensionAray()
'6 rows and 10 columns 0-6 and 0 - 10
'you could use Dim curShippingCharges(1 to 5, 1 to 9) As Currency
' if you really wanted 1-5 and 1-9
'or Option Base 1 at the top - check Help
Dim curShippingCharges(5, 9) As Currency
Dim iCounter1 As Integer, iCounter2 As Integer
'no need normally to .Select or .Activate things
' Worksheets("Practice").Activate
' Range("G17").Activate
For iCounter1 = 0 To 5
For iCounter2 = 0 To 9
'curShippingCharges is a 2 dimensional array so
' iCounter1 is the row number and
' iCounter2 is the column number
'I assume you want the rows and columns transposed??? Offset(iCounter2, iCounter1) ??
curShippingCharges(iCounter1, iCounter2) = Worksheets("Practice").Range("G17").Offset(iCounter2, iCounter1).Value
Next iCounter2
Next iCounter1
'LBound() and UBound() -- check Help
For iCounter1 = LBound(curShippingCharges, 1) To UBound(curShippingCharges, 1)
For iCounter2 = LBound(curShippingCharges, 2) To UBound(curShippingCharges, 2)
'I got tired of seeing this :-)
'MsgBox (curShippingCharges(iCounter1, iCounter2))
Next iCounter2
Next iCounter1
End Sub
I put a breakpoint on the End and a Watch to see the inards of the data -- Check Help if you want to read up on using them
BTW, the [#] icon will add some [ CODE ] and [ / CODE ] tags that you can paste your code between to make it format nice