From: StonyfieldRob on
Trying to copy a specific range on a worksheet to another workbook. The
source workbook is not always named the same so need it to be a bit generic
like the code below. The only catch is I need to paste values only and no
formulas.

Sub CopyData()
'need online help to paste special
Dim SourceWB As Workbook
Dim DestinationWB As Workbook
Dim DestinationWS As Worksheet

Set SourceWB = Workbooks.Open("\\Wuslonfs03\share\product\Demand
Planning\DPDatabases\AbyA.xls")
Set DestinationWB = ThisWorkbook
With SourceWB
Set DestinationWS = DestinationWB.Worksheets("Any by Any")
With .Worksheets("Any by Any")
.Range("A1:AC65536").Copy
End With

End With

End Sub

From: tompl on
This is how I would do it:

Sub CopyData()
'need online help to paste special
Dim SourceWB As Workbook
'Dim DestinationWB As Workbook
'Dim DestinationWS As Worksheet

Set SourceWB = Workbooks.Open("\\Wuslonfs03\share\product\Demand
Planning\DPDatabases\AbyA.xls")

'Set DestinationWB = ThisWorkbook
'With SourceWB
' Set DestinationWS = DestinationWB.Worksheets("Any by Any")
' With .Worksheets("Any by Any")
' .Range("A1:AC65536").Copy
' End With
'
'End With

SouceWB.Worksheets("Name of Worksheet to be copied"). _
Range("A1:AC65536").Copy
ThisWorkbook.Worksheets("Any by Any").Range("A1"). _
PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

End Sub

Note: Sometimes I think that extra variables just get in the way, but I
don't really know your intent so you should use them as you see fit.

Tom
 | 
Pages: 1
Prev: To insert a picture in a form
Next: Type mismatch