View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
RB Smissaert RB Smissaert is offline
external usenet poster
 
Posts: 2,452
Default Can you speed up this code?

Assign the relevant ranges to array like this:

Dim arr() 'this can be a lot faster than doing Dim arr

arr = Range(Cells(1), Cells(100, 5))

Then do your alterations in the array(s)

Then write the array back to a sheet range like this:

Range(Cells(1), Cells(100, 5)) = arr

Will be a lot faster.


RBS




"CLR" wrote in message
...
Hi All......
I have a user who complains that his following code runs too slow and is
wondering how it might be made faster........can anyone help please?

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("Data Entry").Select
Range("J1").Select
x = 3
Dim y As Integer
Do While Selection.Offset(x, 0) < ""
y = Selection.Offset(x, 0).Value
For Z = 4 To 15
Selection.Offset(x, Z).Value = Worksheets("Shop
Input").Cells(y, Z).Value
Next Z
x = x + 1
Loop

Range("A1").Select
Application.ScreenUpdating = True
End Sub

TIA
Vaya con Dios,
Chuck, CABGx3