Hi,
This one works for me:
Sub test()
Dim arr(1 To 20, 1 To 10)
For j = 1 To 10
For i = 1 To 20
arr(i, j) = i + j
Next i
Next j
Range("a1").Resize(UBound(arr, 1), UBound(arr, 2)) = arr
End Sub
Regards,
KL
"shitij" <[email protected]> wrote in
message news:[email protected]...
>
> Hi,
> I have a 2-dimensional variant array. If I want to fill up the excel
> worksheet, the way to fill it up using VB program is:-
> If rCount <> 0 Then
> For iRow = 1 To rCount
> For iColumn = 1 To cCount
> ws.cells(iRow, iColumn).Value = arr(iRow, iColumn)
> Next
> Next
> End If
>
> Here, ws = Excel worksheet object
> arr() = two-dimensional array of type variant from where
> values need to be filled
> rCount = Number of Rows
> cCount = Number of Columns
> iRow = counter for rows and iColumn = counter for columns
>
> My problem is that loop within a loop does take lot of time, if rows
> and columns are around 50 or so. Is there anyway to avoid loop so as to
> decrease loop within loop time.
>
> Thanks in advance
>
>
> --
> shitij
> ------------------------------------------------------------------------
> shitij's Profile:
> http://www.excelforum.com/member.php...o&userid=25145
> View this thread: http://www.excelforum.com/showthread...hreadid=386391
>
Bookmarks