VBA help to copy variable range
Thank you very much
"JLatham" wrote:
Since we've started down the path using a Range, we'll continue. Need
another definitition near the top
Dim rngToPaste As Range
just ahead of the line beginning Workbooks("OtherBook.xls")....
place this code:
rngAddress="C17:H" & lastrow+7
'remember next is one line of code
set rngToCopy =
Workbooks("OtherBook.xls").Worksheets("CopySheet") .Range(rngAddress)
'
'now change that line that starts as Workbooks("OtherBook.xls").... to simply:
rngToPaste.Value = rngToCopy.Value
A more condensed version of it all:
Sub CopyBetweenBooks()
Dim lastRow as Long
Dim rngAddress As String
Dim rngToCopy As Range
Dim rngToPaste As Range
lastRow = Range("M" & Rows.Count).End(xlUp).Row
rngAddress = "J10:O" & lastRow
'remember next is one line of code
Set rngToCopy = ActiveWorkbook.Worksheets("SourceSheet").Range(rng Address)
rngAddress="C17:H" & lastrow+7
'remember next is one line of code
set rngToPaste =
Workbooks("OtherBook.xls").Worksheets("CopySheet") .Range(rngAddress)
rngToPaste.Value = rngToCopy.Value
End Sub
"Eduardo" wrote:
Thank you for your answer I'm new on this just a question how I get the range
copy in the other worksheet starting in cell C17
"JLatham" wrote:
Pick a column between J and O (inclusive) that will have the most information
displayed down the sheet. For this example we'll assume it's column M, plus
this keeps us with a method that works with any of the columns, not just J or
O
Dim lastRow as Long
dim rngAddress as String
dim rngToCopy as Range
lastRow = Range("M" & Rows.Count).End(xlUp).Row
rngAddress = "J10:O" & lastRow
that gives you address of the range and you can use that address to set a
range as:
Set rngToCopy = ActiveWorkbook.Worksheets("SourceSheet").Range(rng Address)
then go from there for your copy/paste into the other workbook and
worksheet. A generic way (change workbook/sheet names as needed) - this does
the same as copy, assuming second workbook is open:
(this would be all one line)
Workbooks("OtherBook.xls").Worksheets("CopySheet") .Range(rngAddress).Value =
rngToCopy.Value
That would copy it into J10:O## in the other book.
Hope this helps some.
"Eduardo" wrote:
I know that once I saw the answer but I was not able to find it again
I have an spreadsheet with macros that help me to create an EDI format file.
Just what I need is to be able to select and copy a variable range from one
workbook to another workbook.
The range vary depending on my fill down formula.
Information is in cell J10 to O??
Thank you
|