Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi, this is my code, but i got a runtime error of 1004 when i run below:
Can someone help pls? Workbooks.Open ("H:\My WorkStation\PRCD\PRCDTEMP.XLS") Windows("PRCDTEMP.XLS").Activate Range("A2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Windows("PRCDTEMP.XLS").Close Workbooks.Open ("H:\My WorkStation\PRCD\" + strName) Windows(strName).Activate With Worksheets("Sheet1").Range("B65536").End(xlUp).Off set(1, 0) ..PasteSpecial xlValues .... it stops here! cannot paste due to range class failure... End With Application.CutCopyMode = False |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Move Windows("PRCDTEMP.XLS").Close to the end and all should be ok
or just use paste. When you close original workbook you cannot use the paste special command! Rgds Nelly "Junior728" wrote in message ... Hi, this is my code, but i got a runtime error of 1004 when i run below: Can someone help pls? Workbooks.Open ("H:\My WorkStation\PRCD\PRCDTEMP.XLS") Windows("PRCDTEMP.XLS").Activate Range("A2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Windows("PRCDTEMP.XLS").Close Workbooks.Open ("H:\My WorkStation\PRCD\" + strName) Windows(strName).Activate With Worksheets("Sheet1").Range("B65536").End(xlUp).Off set(1, 0) .PasteSpecial xlValues .... it stops here! cannot paste due to range class failure... End With Application.CutCopyMode = False |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Sometimes, you can lose the clipboard when you open a workbook.
I'd keep that other workbook open. And I'd be more specific about what sheets are being used--instead of relying on whatever the activesheet is at the time. dim PRCDWkbk as workbook dim OtherWkbk as workbook dim RngToCopy as range dim strName as string dim DestCell as range strName = "something here.xls" set prcdwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\PRCDTEMP.XLS") with prcdwkbk.worksheets(1) '.worksheets("sheet9999") 'if you know the name set rngtocopy = .range("a2",.cells.specialcells(xlcelltypelastcell )) end with 'don't copy and don't close yet. '+ is used to add numbers, & is used to concatenate strings. 'VBA can be forgiving, but sometimes, you may be surprised! set otherwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\" & strName) with otherwkbk.Worksheets("Sheet1") 'more than 64k rows in xl2007 set destcell = .cells(.rows.count,"B").End(xlUp).Offset(1, 0) end with 'now do the copy & paste rngtocopy.copy destcell.pastespecial paste:=xlpastevalues Application.CutCopyMode = False =========== Untested, uncompiled. Watch out for typos. Junior728 wrote: Hi, this is my code, but i got a runtime error of 1004 when i run below: Can someone help pls? Workbooks.Open ("H:\My WorkStation\PRCD\PRCDTEMP.XLS") Windows("PRCDTEMP.XLS").Activate Range("A2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Windows("PRCDTEMP.XLS").Close Workbooks.Open ("H:\My WorkStation\PRCD\" + strName) Windows(strName).Activate With Worksheets("Sheet1").Range("B65536").End(xlUp).Off set(1, 0) .PasteSpecial xlValues .... it stops here! cannot paste due to range class failure... End With Application.CutCopyMode = False -- Dave Peterson |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I left out the .close statement:
......same as before 'now do the copy & paste rngtocopy.copy destcell.pastespecial paste:=xlpastevalues 'now close prcdwkbk.close savechanges:=false '<--added Application.CutCopyMode = False Dave Peterson wrote: Sometimes, you can lose the clipboard when you open a workbook. I'd keep that other workbook open. And I'd be more specific about what sheets are being used--instead of relying on whatever the activesheet is at the time. dim PRCDWkbk as workbook dim OtherWkbk as workbook dim RngToCopy as range dim strName as string dim DestCell as range strName = "something here.xls" set prcdwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\PRCDTEMP.XLS") with prcdwkbk.worksheets(1) '.worksheets("sheet9999") 'if you know the name set rngtocopy = .range("a2",.cells.specialcells(xlcelltypelastcell )) end with 'don't copy and don't close yet. '+ is used to add numbers, & is used to concatenate strings. 'VBA can be forgiving, but sometimes, you may be surprised! set otherwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\" & strName) with otherwkbk.Worksheets("Sheet1") 'more than 64k rows in xl2007 set destcell = .cells(.rows.count,"B").End(xlUp).Offset(1, 0) end with 'now do the copy & paste rngtocopy.copy destcell.pastespecial paste:=xlpastevalues Application.CutCopyMode = False =========== Untested, uncompiled. Watch out for typos. Junior728 wrote: Hi, this is my code, but i got a runtime error of 1004 when i run below: Can someone help pls? Workbooks.Open ("H:\My WorkStation\PRCD\PRCDTEMP.XLS") Windows("PRCDTEMP.XLS").Activate Range("A2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Windows("PRCDTEMP.XLS").Close Workbooks.Open ("H:\My WorkStation\PRCD\" + strName) Windows(strName).Activate With Worksheets("Sheet1").Range("B65536").End(xlUp).Off set(1, 0) .PasteSpecial xlValues .... it stops here! cannot paste due to range class failure... End With Application.CutCopyMode = False -- Dave Peterson -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi Dave,
Thanks for your code. It works perfectly. "Dave Peterson" wrote: I left out the .close statement: ......same as before 'now do the copy & paste rngtocopy.copy destcell.pastespecial paste:=xlpastevalues 'now close prcdwkbk.close savechanges:=false '<--added Application.CutCopyMode = False Dave Peterson wrote: Sometimes, you can lose the clipboard when you open a workbook. I'd keep that other workbook open. And I'd be more specific about what sheets are being used--instead of relying on whatever the activesheet is at the time. dim PRCDWkbk as workbook dim OtherWkbk as workbook dim RngToCopy as range dim strName as string dim DestCell as range strName = "something here.xls" set prcdwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\PRCDTEMP.XLS") with prcdwkbk.worksheets(1) '.worksheets("sheet9999") 'if you know the name set rngtocopy = .range("a2",.cells.specialcells(xlcelltypelastcell )) end with 'don't copy and don't close yet. '+ is used to add numbers, & is used to concatenate strings. 'VBA can be forgiving, but sometimes, you may be surprised! set otherwkbk = Workbooks.Open(filename:="H:\My WorkStation\PRCD\" & strName) with otherwkbk.Worksheets("Sheet1") 'more than 64k rows in xl2007 set destcell = .cells(.rows.count,"B").End(xlUp).Offset(1, 0) end with 'now do the copy & paste rngtocopy.copy destcell.pastespecial paste:=xlpastevalues Application.CutCopyMode = False =========== Untested, uncompiled. Watch out for typos. Junior728 wrote: Hi, this is my code, but i got a runtime error of 1004 when i run below: Can someone help pls? Workbooks.Open ("H:\My WorkStation\PRCD\PRCDTEMP.XLS") Windows("PRCDTEMP.XLS").Activate Range("A2").Select Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select Selection.Copy Windows("PRCDTEMP.XLS").Close Workbooks.Open ("H:\My WorkStation\PRCD\" + strName) Windows(strName).Activate With Worksheets("Sheet1").Range("B65536").End(xlUp).Off set(1, 0) .PasteSpecial xlValues .... it stops here! cannot paste due to range class failure... End With Application.CutCopyMode = False -- Dave Peterson -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Paste Special throwing an error | Excel Discussion (Misc queries) | |||
macro with paste special returns error | Excel Programming | |||
When paste special links the file name gives error | Excel Discussion (Misc queries) | |||
Cut and Paste using Macro gives paste special method error | Excel Programming | |||
Dynamic Copy/Paste Special Formulas/Paste Special Values | Excel Programming |