View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Gary''s Student Gary''s Student is offline
external usenet poster
 
Posts: 11,058
Default COPY...........(need a little change in a macro)

Perhaps the Selection is slowing you down. replace:
Cells(cell.Row, "C").Select
Selection.Resize(1, 52).Select
Selection.ClearContents

with:

Cells(cell.Row, "C").Resize(1, 52).ClearContents

This may improve the speed.

--
Gary''s Student - gsnu2007e


"ytayta555" wrote:

HI ALL

Here is a macro which delete a ,,specific
range,, in every Row in the same workbook,
if the value from BD91 to BD 65536 <=32 ;
here is the macro :


Sub Clear_Ranges()
' Macro recorded 3/5/2008 by Tim

Dim cell As Range, rng As Range
Set rng = Range(Cells(91, "BD"), Cells(Rows.Count,
"BD").End(xlUp))
For Each cell In rng
If cell.Value <= 32 Then
Cells(cell.Row, "C").Select
Selection.Resize(1, 52).Select
Selection.ClearContents
End If
Next
End Sub


It works perfect , but it take {in my database of 231 workbooks}
a looong ... time !!



IF this macro find in the same range {BD91 to
BD65536} the Value =33 , and then Copy the EntireRow in another Wo
rkbook ,the time shall become dramatically shorter !!

I TRIED THIS :

Sub Clear_Ranges()
' Macro recorded 3/5/2008 by Tim

Dim cell As Range, rng As Range
Set rng = Range(Cells(91, "BD"), Cells(Rows.Count,
"BD").End(xlUp))
For Each cell In rng
If cell.Value = 33 Then '...... {here maybe must be
EntireRow .Select???}
Cells(cell.Row, "C").Select
Selection.Resize(1, 52).Select
Selection.Copy
Windows("R1.xls").Activate
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Windows("YTA1.xls").Activate
End If
Next
End Sub


.......but it didn't work ;{particular informations : both
workbooks named YTA1 and R1 are open ;R1 is the
basic workbook which get the results I need from
the others workbooks;in this case I want to select
and copy in wb R1 the EntireRow !!!!!!! of the YTA1 wb
if the value in this Rows in Column BD is =33 } ;

FOR CONCLUSIONS :

,,IF VALUE IN WB,,YTA1,,=33 THEN COPY EN-
TIRE ROW IN ANOTHER WB ,,R1,, "

Please help,

Respectfully