Worksheet range copy

G

Graham H

I am trying to copy a range across to some worksheets so that these are basically a
replicate of the source worksheet initially. This does effectively what I am after

Sheets("Sheet1").Cells.Copy Destination:=Sheets("Sheet3").Cells

I just wonder if this is not a hammer to crack a nut. The exact range tranfer required is

Sheets("Sheet1").Range("A1:p40").Copy Destination:=Sheets("Sheet3").Range("A1:p40")

This however does not copy across column widths etc although it takes all the text and
formulas. The first transfer does this however. Is there a tidier way to do this
remembering that I will be going through a loop to copy the source to several worksheets.
I value any help.

Graham
 
D

Don Guillett

You can copy the whole worksheet or use copy and pastespecial

BTW you need not copy range to range. Just copy range to cell
Sheets("Sheet1").Cells.Copy Destination:=Sheets("Sheet3").range("a1")'cells
Sheets("Sheet1").Range("A1:p40").Copy
Destination:=Sheets("Sheet3").Range("A1")
 
M

Mike H

One way

Sub marine()
Sheets("Sheet1").Range("A1:p40").Copy
With Worksheets("Sheet3").Range("A1")
.PasteSpecial Paste:=xlPasteAll
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteFormats
End With
End Sub

Mike
 
G

Graham H

Thanks to you both, Mike and Don. I just wanted the confidence to make sure I was going
down the right road and I am very grateful for your help and guidance.

Graham
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top