PC Review


Reply
Thread Tools Rate Thread

Copy/Paste Problem: Runtime error 1004

 
 
Alan
Guest
Posts: n/a
 
      18th Mar 2009
I am copying and pasting some entries (entire rows, one at a time)
from one worksheet (NewDataWS) to another worksheet (ErrorWS) in the
same workbook. This code works fine:

NewDataWS.Cells(i, FirstNameCol).EntireRow.Copy
ErrorWS.Paste Destination:=ErrorWS.Range("A" & ErrorRow)

I want to place another value (not in the source row) in the
destination worksheet for each row, as I process it. However, when I
change the second line to start at Column "B", like below:

ErrorWS.Paste Destination:=ErrorWS.Range("B" & ErrorRow)

I get the following runtime error:

"Runtime error 1004
The information cannot be pasted because the Copy area and the paste
area are not the same size and shape. . . . "

Since I am just specifying the starting cell, I do not understand
why I get this. Do you?

Thanks in advance, Alan
 
Reply With Quote
 
 
 
 
ryguy7272
Guest
Posts: n/a
 
      18th Mar 2009
I think it could be a couple of things:
http://support.microsoft.com/kb/210684

http://support.microsoft.com/kb/818808

Can you select the destination cell and paste-special-values?
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False

That’s what I do and I never get the Error 1004 (well almost never).

Are those Named Ranges? I can’t seem to recreate what you have, but I would
surmise that the code needs to be something like this:
ErrorWS.PasteSpecial Destination:=ErrorWS.Range("A" & ErrorRow)
ErrorWS.PasteSpecial Destination:=ErrorWS.Range("B" & ErrorRow)
‘etc.

Ryan---

--
RyGuy


"Alan" wrote:

> I am copying and pasting some entries (entire rows, one at a time)
> from one worksheet (NewDataWS) to another worksheet (ErrorWS) in the
> same workbook. This code works fine:
>
> NewDataWS.Cells(i, FirstNameCol).EntireRow.Copy
> ErrorWS.Paste Destination:=ErrorWS.Range("A" & ErrorRow)
>
> I want to place another value (not in the source row) in the
> destination worksheet for each row, as I process it. However, when I
> change the second line to start at Column "B", like below:
>
> ErrorWS.Paste Destination:=ErrorWS.Range("B" & ErrorRow)
>
> I get the following runtime error:
>
> "Runtime error 1004
> The information cannot be pasted because the Copy area and the paste
> area are not the same size and shape. . . . "
>
> Since I am just specifying the starting cell, I do not understand
> why I get this. Do you?
>
> Thanks in advance, Alan
>

 
Reply With Quote
 
Alan
Guest
Posts: n/a
 
      18th Mar 2009
I also thought that copying the entire source row may be a problem
when trying to paste specifically. I tried this but got the same
error:

NewDataWS.Range(Cells(i, 1), Cells(i, ErrorLastColumn)).Copy
ErrorWS.Range(Cells(ErrorRow, 2), Cells(ErrorRow, ErrorLastColumn +
1)).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False,
Transpose:=False

I also tried:

NewDataWS.Cells(i, FirstNameCol).EntireRow.Copy
ErrorWS.Cells(ErrorRow, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues,
Operation:=xlNone, _
SkipBlanks:=False,
Transpose:=False

but got "Select method of Range class failed".

 
Reply With Quote
 
Alan
Guest
Posts: n/a
 
      18th Mar 2009
I just pasted the entire row, then added a cell:

NewDataWS.Cells(i, FirstNameCol).EntireRow.Copy
ErrorWS.Paste Destination:=ErrorWS.Range("A" & ErrorRow)
With ErrorWS.Cells(ErrorRow, 1)
.Insert Shift:=xlToRight
.Value = Message
End With


ErrorRow is a row counter to keep up with the next open row.
 
Reply With Quote
 
Alan
Guest
Posts: n/a
 
      18th Mar 2009
On Mar 18, 1:07*am, Alan <jalantho...@verizon.net> wrote:
> * I am copying and pasting some entries (entire rows, one at a time)
> from one worksheet (NewDataWS) to another worksheet (ErrorWS) in the
> same workbook. *This code works fine:
>
> * * * * * * NewDataWS.Cells(i, FirstNameCol).EntireRow.Copy
> * * * * * * ErrorWS.Paste Destination:=ErrorWS.Range("A" & ErrorRow)
>
> I want to place another value (not in the source row) in the
> destination worksheet for each row, as I process it. *However, when I
> change the second line to start at Column "B", like below:
>
> * * * * * * ErrorWS.Paste Destination:=ErrorWS.Range("B" & ErrorRow)
>
> I get the following runtime error:
>
> "Runtime error 1004
> The information cannot be pasted because the Copy area and the paste
> area are not the same size and shape. . . . "
>
> * *Since I am just specifying the starting cell, I do not understand
> why I get this. *Do you?
>
> * * Thanks in advance, Alan


Alan,

What version of Excel are you using? I am having similar problems with
2000 but it doesn't seem to happen with 2003
 
Reply With Quote
 
Alan
Guest
Posts: n/a
 
      19th Mar 2009
Actually, I ran into this using Excel 2007. Alan
 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
JB Bates' Runtime Error 1004 problem Ken Johnson Microsoft Excel Misc 0 26th Dec 2009 10:32 PM
copy a sheet in front and rename gets a 1004 runtime error Excel-General Microsoft Excel Discussion 5 23rd Jan 2008 12:24 AM
Copy paste to another Workbook, Error 1004 Steve Microsoft Excel Programming 7 16th Apr 2007 05:49 PM
Copy Paste not working from Add-in - Error 1004 =?Utf-8?B?VHJlZm9y?= Microsoft Excel Programming 2 13th Nov 2005 08:41 AM
runtime error 1004 paste method of worksheet class failed wilsoj Microsoft Excel Programming 12 10th Aug 2005 08:20 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:11 AM.