ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy/Paste Values code (https://www.excelbanter.com/excel-programming/440144-copy-paste-values-code.html)

Jules

Copy/Paste Values code
 
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below is
what I'm using now but it seems that there should be a simpler way. Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub



Rick Rothstein

Copy/Paste Values code
 
Give this a try...

Sub CopySheets()
Sheets("Sheet2").Cells.Copy Sheets("Sheet1").Range("A1")
End Sub

--
Rick (MVP - Excel)


"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below
is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub




Mike H

Copy/Paste Values code
 
Hi,

Maybee this

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
End Sub
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Jules" wrote:

Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below is
what I'm using now but it seems that there should be a simpler way. Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub



Jules

Copy/Paste Values code
 
Yes. Thanks!!

"Mike H" wrote:

Hi,

Maybee this

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy
Sheets("Sheet1").Range("A1").PasteSpecial Paste:=xlPasteValues
End Sub
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Jules" wrote:

Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below is
what I'm using now but it seems that there should be a simpler way. Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub



JLGWhiz[_2_]

Copy/Paste Values code
 
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below
is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub





Rick Rothstein

Copy/Paste Values code
 
Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with both
options to see the difference. Fill Sheet 1 with some data, then select the
first 5 rows and click Edit/Clear/All on the menu bar (do not just hit the
Delete key) to clear those cells from the UsedRange., then run your code and
watch where Row 6's data (and all the rows after it) end up. Now repeat the
process using my code.... Row 6 and all following rows remain in the same
rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub






Mike H

Copy/Paste Values code
 
Hi,

It will be faster but the OP noted in the header and example code that it
was values the were to be pasted.
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"JLGWhiz" wrote:

Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code below
is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub




.


JLGWhiz[_2_]

Copy/Paste Values code
 
The OP used A1 as the destination cell. I just followed their lead.


"Rick Rothstein" wrote in message
...
Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with
both options to see the difference. Fill Sheet 1 with some data, then
select the first 5 rows and click Edit/Clear/All on the menu bar (do not
just hit the Delete key) to clear those cells from the UsedRange., then
run your code and watch where Row 6's data (and all the rows after it) end
up. Now repeat the process using my code.... Row 6 and all following rows
remain in the same rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub








Mike H

Copy/Paste Values code
 
Rick,

Good point about the difference between usedrange and cells but yours and
JLGWhiz options don't paste values as the OP requested.
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Rick Rothstein" wrote:

Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with both
options to see the difference. Fill Sheet 1 with some data, then select the
first 5 rows and click Edit/Clear/All on the menu bar (do not just hit the
Delete key) to clear those cells from the UsedRange., then run your code and
watch where Row 6's data (and all the rows after it) end up. Now repeat the
process using my code.... Row 6 and all following rows remain in the same
rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub





.


Mike H

Copy/Paste Values code
 
Rick,

I meant to add that a neat solution would be

Sheets("Sheet1").Cells.Value Sheets("Sheet2").Cells.Value

Unfortunately; at least on my pc, I get an out of memory error so have to
limit the range with say

Sheets("Sheet1").Range("A1:d20").Value =
Sheets("Sheet2").Range("A1:d20").Value

The latter approach is (i think) frought with danger because you may be able
to set up the correct range by finding the last row and column but there's no
way i know of establishing any memory limitation on the host computer which
is why I don't bother with the 'single line' approach for pasting values.
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Rick Rothstein" wrote:

Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with both
options to see the difference. Fill Sheet 1 with some data, then select the
first 5 rows and click Edit/Clear/All on the menu bar (do not just hit the
Delete key) to clear those cells from the UsedRange., then run your code and
watch where Row 6's data (and all the rows after it) end up. Now repeat the
process using my code.... Row 6 and all following rows remain in the same
rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub





.


Rick Rothstein

Copy/Paste Values code
 
Good point about the values. How about this then...

Sub CopySheets()
With Sheets("Sheet1")
Sheets("Sheet2").Cells.Copy .Range("A1")
.UsedRange.Value = .UsedRange.Value
End With
End Sub

Notice using UsedRange in the second line of code inside the With block is
fine because the cells are already in place at that point of the code.

--
Rick (MVP - Excel)


"Mike H" wrote in message
...
Rick,

Good point about the difference between usedrange and cells but yours and
JLGWhiz options don't paste values as the OP requested.
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Rick Rothstein" wrote:

Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with
both
options to see the difference. Fill Sheet 1 with some data, then select
the
first 5 rows and click Edit/Clear/All on the menu bar (do not just hit
the
Delete key) to clear those cells from the UsedRange., then run your code
and
watch where Row 6's data (and all the rows after it) end up. Now repeat
the
process using my code.... Row 6 and all following rows remain in the same
rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data
into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub





.



JLGWhiz[_2_]

Copy/Paste Values code
 
Yeah, I caught that, Mike, but you had already handled it.


"Mike H" wrote in message
...
Rick,

Good point about the difference between usedrange and cells but yours and
JLGWhiz options don't paste values as the OP requested.
--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"Rick Rothstein" wrote:

Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with
both
options to see the difference. Fill Sheet 1 with some data, then select
the
first 5 rows and click Edit/Clear/All on the menu bar (do not just hit
the
Delete key) to clear those cells from the UsedRange., then run your code
and
watch where Row 6's data (and all the rows after it) end up. Now repeat
the
process using my code.... Row 6 and all following rows remain in the same
rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data
into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub





.




Mishell[_3_]

Copy/Paste Values code
 
This problem can be solved like this:

Sub CopySheets()
r = Sheets("Sheet2").UsedRange.Row
c = Sheets("Sheet2").UsedRange.Column
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet3").Cells(r, c)
End Sub

Mishell

"Rick Rothstein" a écrit dans le
message de news: ...
Using the UsedRange might not be what the OP wants. If the UsedRange does
not start at A1, then using it in your code will move all the data up so
that the data starts in A1; using Cells as I proposed will keep the moved
data in the same cells they currently are in. Try this experiment with
both options to see the difference. Fill Sheet 1 with some data, then
select the first 5 rows and click Edit/Clear/All on the menu bar (do not
just hit the Delete key) to clear those cells from the UsedRange., then
run your code and watch where Row 6's data (and all the rows after it) end
up. Now repeat the process using my code.... Row 6 and all following rows
remain in the same rows they currently are in on Sheet2.

--
Rick (MVP - Excel)


"JLGWhiz" wrote in message
...
Might be a little faster.

Sub CopySheets()
Sheets("Sheet2").UsedRange.Copy Sheets("Sheet1").Range("A1")
End Sub



"Jules" wrote in message
...
Is there a faster way to copy and paste one entire worksheets data into
another existing worksheet? I do NOT want to rename the sheets. Code
below is
what I'm using now but it seems that there should be a simpler way.
Thanks!

Sub CopySheets()
Sheets("Sheet2").Select
Cells.Select
Selection.Copy
Sheets("Sheet1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub









All times are GMT +1. The time now is 06:22 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com