ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy dynamic range (https://www.excelbanter.com/excel-programming/409625-copy-dynamic-range.html)

Sandy

Copy dynamic range
 
Hello
I have some code that was given to me and I have modified. I am trying to
modify again and I am having trouble. I am opening files manipulating data
and then copying to another workbook where inthe macro lies. All of the
manipulation works but when I try to copy I am getting nothing. I am
thinking that it may be in my use of "lastrow" but I am not sure how to fix
it. This is the excerpt of the code...

lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
Set sourceRange = mybook.Worksheets(1).Range("A2:H" & lastrow)
Call SortArray(MyFiles)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

With sourceRange
Set destrange = basebook.Worksheets(1).Cells(rnum,
"A"). _
Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = sourceRange.Value




Sub SortArray(myArr As Variant)
Dim iCtr As Long
Dim jCtr As Long
Dim Temp As Variant
For iCtr = LBound(myArr) To UBound(myArr) - 1
For jCtr = iCtr + 1 To UBound(myArr)
If LCase(Right(myArr(iCtr), 10)) _
LCase(Right(myArr(jCtr), 10)) Then

Temp = myArr(iCtr)
myArr(iCtr) = myArr(jCtr)
myArr(jCtr) = Temp
End If
Next jCtr
Next iCtr
End Sub


TIA
Sandy

joel

Copy dynamic range
 
from
lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
to

lastrow = mybook.Worksheets(1).Cells(Rows.Count, "a").End(xlUp).Row



"Sandy" wrote:

Hello
I have some code that was given to me and I have modified. I am trying to
modify again and I am having trouble. I am opening files manipulating data
and then copying to another workbook where inthe macro lies. All of the
manipulation works but when I try to copy I am getting nothing. I am
thinking that it may be in my use of "lastrow" but I am not sure how to fix
it. This is the excerpt of the code...

lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
Set sourceRange = mybook.Worksheets(1).Range("A2:H" & lastrow)
Call SortArray(MyFiles)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

With sourceRange
Set destrange = basebook.Worksheets(1).Cells(rnum,
"A"). _
Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = sourceRange.Value




Sub SortArray(myArr As Variant)
Dim iCtr As Long
Dim jCtr As Long
Dim Temp As Variant
For iCtr = LBound(myArr) To UBound(myArr) - 1
For jCtr = iCtr + 1 To UBound(myArr)
If LCase(Right(myArr(iCtr), 10)) _
LCase(Right(myArr(jCtr), 10)) Then

Temp = myArr(iCtr)
myArr(iCtr) = myArr(jCtr)
myArr(jCtr) = Temp
End If
Next jCtr
Next iCtr
End Sub


TIA
Sandy


Sandy

Copy dynamic range
 
Thanks for the response.
I stll get nothing after your suggested change.
S

"Joel" wrote:

from
lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
to

lastrow = mybook.Worksheets(1).Cells(Rows.Count, "a").End(xlUp).Row



"Sandy" wrote:

Hello
I have some code that was given to me and I have modified. I am trying to
modify again and I am having trouble. I am opening files manipulating data
and then copying to another workbook where inthe macro lies. All of the
manipulation works but when I try to copy I am getting nothing. I am
thinking that it may be in my use of "lastrow" but I am not sure how to fix
it. This is the excerpt of the code...

lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
Set sourceRange = mybook.Worksheets(1).Range("A2:H" & lastrow)
Call SortArray(MyFiles)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

With sourceRange
Set destrange = basebook.Worksheets(1).Cells(rnum,
"A"). _
Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = sourceRange.Value




Sub SortArray(myArr As Variant)
Dim iCtr As Long
Dim jCtr As Long
Dim Temp As Variant
For iCtr = LBound(myArr) To UBound(myArr) - 1
For jCtr = iCtr + 1 To UBound(myArr)
If LCase(Right(myArr(iCtr), 10)) _
LCase(Right(myArr(jCtr), 10)) Then

Temp = myArr(iCtr)
myArr(iCtr) = myArr(jCtr)
myArr(jCtr) = Temp
End If
Next jCtr
Next iCtr
End Sub


TIA
Sandy


Sandy

Copy dynamic range
 
Nevermind its working THANKS!

"Joel" wrote:

from
lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
to

lastrow = mybook.Worksheets(1).Cells(Rows.Count, "a").End(xlUp).Row



"Sandy" wrote:

Hello
I have some code that was given to me and I have modified. I am trying to
modify again and I am having trouble. I am opening files manipulating data
and then copying to another workbook where inthe macro lies. All of the
manipulation works but when I try to copy I am getting nothing. I am
thinking that it may be in my use of "lastrow" but I am not sure how to fix
it. This is the excerpt of the code...

lastrow = Cells(Cells.Rows.Count, "a").End(xlUp).Row
Set sourceRange = mybook.Worksheets(1).Range("A2:H" & lastrow)
Call SortArray(MyFiles)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(1).Range("A" & rnum)

With sourceRange
Set destrange = basebook.Worksheets(1).Cells(rnum,
"A"). _
Resize(.Rows.Count, .Columns.Count)
End With
destrange.Value = sourceRange.Value




Sub SortArray(myArr As Variant)
Dim iCtr As Long
Dim jCtr As Long
Dim Temp As Variant
For iCtr = LBound(myArr) To UBound(myArr) - 1
For jCtr = iCtr + 1 To UBound(myArr)
If LCase(Right(myArr(iCtr), 10)) _
LCase(Right(myArr(jCtr), 10)) Then

Temp = myArr(iCtr)
myArr(iCtr) = myArr(jCtr)
myArr(jCtr) = Temp
End If
Next jCtr
Next iCtr
End Sub


TIA
Sandy



All times are GMT +1. The time now is 01:44 AM.

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