Improve macro help
I removed the range and just copied an indivdual cell over and it worked fine.
Workbooks(ToWorkbook).Sheets("LTDIS pay").Cells(j, 2).Value =
Workbooks(FromWorkbook).Sheets(1).Cells(i, 7).Value
When I put the range back in I get the same error message
" wrote:
if the original worked then mine should work - but to explain it
range("A1").value=1
would set the value of cell A1 on the active sheet to 1
range("a1").value=range("b1").value
would set a1 to the value of b1
extending this therefore means we can reference other workbooks and
other worksheets - HOWEVER, they will need to be open before the code
runs, and the range areas would need to be the same size
fullers wrote:
I replaced the code with your new below but I get the follwing error when it
runs:
Run-time error '1004'
Application-defined or object-defined error
Any ideas as to why the code wont work?
Thanks
" wrote:
(1) no need to activate the sheets
(2) no need to copy and paste
Workbooks(ToWorkbook).Sheets("LTDIS pay").range(Cells(j, 2),Cells(j,
122)).value=Workbooks(FromWorkbook).Sheets(1).Rang e(Cells(i, 7),
Cells(i, 127)).value
should do it in the one line for you
fullers wrote:
I have the following code that works fine and does what I need it to do. What
I am wondering is if there is a way to improve the code inside the if
statement so that the 2 workbooks do not need to be alternately selected.
Thus I hope speed up the macro.
The bit inside takes a range of 120 cells in one row from "FromWorkbook"
then selects "ToWorkbook" and the first cell where the range is to be pasted
and then pastes the data.
If Workbooks(ToWorkbook).Sheets("LTDIS pay").Cells(j, 1).Value =
Workbooks(FromWorkbook).Sheets(1).Cells(i, 3).Value, 2) Then
Workbooks(FromWorkbook).Sheets(1).Activate
Range(Cells(i, 7), Cells(i, 127)).Copy
Workbooks(ToWorkbook).Sheets("LTDIS pay").Activate
Cells(j, 2).Select
ActiveSheet.Paste
End If
Many thanks in advance.
|