Copy a Unidifiend Range, Starting at A11

Good Morning

I am looking to have a macro which will copy all the rows from A11 to the next blank row, allowing for different amounts of data. For example I could have the following ranges:

A11 - A21
A11 - A33
A11 - A42

But will always have a blank row at the end of the range I wish to copy.

Many thanks
WashcareAsked:
Who is Participating?
 
sstampfConnect With a Mentor Commented:
If you want to copy - paste all the data from A11 to the last row then use this code
Sub AppendData()

    Dim wbkMaster As Workbook
    Dim shtMaster As Worksheet
    Dim rngMaster As Range
    Dim wbkData As Workbook
    Dim shtData As Worksheet
    Dim rngData As Range
    
' change path and file name to suit
    Set wbkMaster = Workbooks.Open("D:\temp\testmaster.xls")
    Set shtMaster = wbkMaster.Worksheets(1)
    
' change path and file name to suit
    Set wbkData = Workbooks.Open("D:\temp\test1.xls")
    Set shtData = wbkData.Worksheets(1)
    
' get end of master
    Set rngMaster = shtMaster.Range("A65536").End(xlUp)
' Change as per your need
    Set rngData = shtData.Range("A11:A" & shtData.Range("A11").End(xlDown).Row)
' copy data across
    rngData.Copy rngMaster
    
    MsgBox "Appended " & rngData.Rows.Count & " rows of data to Master data", vbInformation
    
' simply close data
    wbkData.Close False
' save and close master
    wbkMaster.Close True

'  release objects
    Set rngData = Nothing
    Set shtData = Nothing
    Set wbkData = Nothing
    Set rngMaster = Nothing
    Set shtMaster = Nothing
    Set wbkMaster = Nothing
End Sub

Open in new window

0
 
andreizzCommented:
A11 - A21
A11 - A33
A11 - A42
Do you wish to copy them from A11 to B11 or append them after A21 like A22-A32?
0
 
WashcareAuthor Commented:
Andreizz

I will be looking to append them to the end of an existing set of rows in another workbook?

So from Workbook1, Sheet10
To Workbook2, Sheet5, add to last blank row, looking in column A

Many thanks
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
sstampfCommented:
Try this code, make changes in the variables as needed or ask me if you have any doubts.

Also, see:
http://www.ozgrid.com/forum/showthread.php?t=26768&page=1
Sub AppendData()

    Dim wbkMaster As Workbook
    Dim shtMaster As Worksheet
    Dim rngMaster As Range
    Dim wbkData As Workbook
    Dim shtData As Worksheet
    Dim rngData As Range
    
' change path and file name to suit
    Set wbkMaster = Workbooks.Open("D:\temp\testmaster.xls")
    Set shtMaster = wbkMaster.Worksheets(1)
    
' change path and file name to suit
    Set wbkData = Workbooks.Open("D:\temp\test1.xls")
    Set shtData = wbkData.Worksheets(1)
    
' get end of master
    Set rngMaster = shtMaster.Range("A65536").End(xlUp)
' Change as per your need
    Set rngData = shtData.Range("A11:A31")
' copy data across
    rngData.Copy rngMaster
    
    MsgBox "Appended " & rngData.Rows.Count & " rows of data to Master data", vbInformation
    
' simply close data
    wbkData.Close False
' save and close master
    wbkMaster.Close True

'  release objects
    Set rngData = Nothing
    Set shtData = Nothing
    Set wbkData = Nothing
    Set rngMaster = Nothing
    Set shtMaster = Nothing
    Set wbkMaster = Nothing
End Sub

Open in new window

0
 
WashcareAuthor Commented:
stampf

Is there a way to change this line, so that it works with any file named in the directory?

Set wbkData = Workbooks.Open("D:\temp\test1.xls")

Something along the lines of:

Set wbkData = Workbooks.Open("D:\temp\*.xls")

Many thanks
0
 
WashcareAuthor Commented:
Many thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.