ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy and paste to corporate sheet (https://www.excelbanter.com/excel-programming/381117-copy-paste-corporate-sheet.html)

Marie

Copy and paste to corporate sheet
 
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie

Ron de Bruin

Copy and paste to corporate sheet
 
You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie


Marie

Copy and paste to corporate sheet
 
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie



Ron de Bruin

Copy and paste to corporate sheet
 
Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?


Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie



Marie

Copy and paste to corporate sheet
 
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?


Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie



Ron de Bruin

Copy and paste to corporate sheet
 
Hi Marie

Do not change the cell address in the function

And is the sheet where you want to copy to also named Substandard ?

Change all

(Substandard)

To

("Substandard")



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?


Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie



Marie

Copy and paste to corporate sheet
 
Yes, the file I want it to pull the data into has a sheet named Substandard.

I changed the cell address in the function back to A1 and changed the code
to include the quotes around "substandard". Now it is stopping at

Set sourceRange = mybook.Worksheets("Substandard").Range("A2:IV" & lrow)

BUT, it copied cell A1 in my CSB file - I have input in other cells it is
not picking up. It didn't pick up anything in by FAB file.

Am I still doing something wrong?

"Ron de Bruin" wrote:

Hi Marie

Do not change the cell address in the function

And is the sheet where you want to copy to also named Substandard ?

Change all

(Substandard)

To

("Substandard")



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?

Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie




Ron de Bruin

Copy and paste to corporate sheet
 
Hi Marie

Send me your test file private then I look at it for you then


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Yes, the file I want it to pull the data into has a sheet named Substandard.

I changed the cell address in the function back to A1 and changed the code
to include the quotes around "substandard". Now it is stopping at

Set sourceRange = mybook.Worksheets("Substandard").Range("A2:IV" & lrow)

BUT, it copied cell A1 in my CSB file - I have input in other cells it is
not picking up. It didn't pick up anything in by FAB file.

Am I still doing something wrong?

"Ron de Bruin" wrote:

Hi Marie

Do not change the cell address in the function

And is the sheet where you want to copy to also named Substandard ?

Change all

(Substandard)

To

("Substandard")



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?

Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie




Marie

Copy and paste to corporate sheet
 
Just sent the files. Thanks
Marie

"Ron de Bruin" wrote:

Hi Marie

Send me your test file private then I look at it for you then


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Yes, the file I want it to pull the data into has a sheet named Substandard.

I changed the cell address in the function back to A1 and changed the code
to include the quotes around "substandard". Now it is stopping at

Set sourceRange = mybook.Worksheets("Substandard").Range("A2:IV" & lrow)

BUT, it copied cell A1 in my CSB file - I have input in other cells it is
not picking up. It didn't pick up anything in by FAB file.

Am I still doing something wrong?

"Ron de Bruin" wrote:

Hi Marie

Do not change the cell address in the function

And is the sheet where you want to copy to also named Substandard ?

Change all

(Substandard)

To

("Substandard")



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?

Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie





Ron de Bruin

Copy and paste to corporate sheet
 
I have send you the example file
If you need more help let me know


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Just sent the files. Thanks
Marie

"Ron de Bruin" wrote:

Hi Marie

Send me your test file private then I look at it for you then


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Yes, the file I want it to pull the data into has a sheet named Substandard.

I changed the cell address in the function back to A1 and changed the code
to include the quotes around "substandard". Now it is stopping at

Set sourceRange = mybook.Worksheets("Substandard").Range("A2:IV" & lrow)

BUT, it copied cell A1 in my CSB file - I have input in other cells it is
not picking up. It didn't pick up anything in by FAB file.

Am I still doing something wrong?

"Ron de Bruin" wrote:

Hi Marie

Do not change the cell address in the function

And is the sheet where you want to copy to also named Substandard ?

Change all

(Substandard)

To

("Substandard")



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I set up a couple of dummy files on my C drive to test it. In the files I
named a sheet substandard and input some data. I copied the code and
anywhere it referred to sheet1 I changed to substandard.

In the function I also changed it to A7 instead of A1 - is this right since
I want to copy from A7 - because of my headers?
What does this function do?


I am getting a Runtime error '9': subscript out of range on this line

basebook.Worksheets(Substandard).Cells.Clear

This is my code:

Sub Copy_Files()
FileCopy "C:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "C:\fab\fab.xls", "C:\Data\fab.xls"
'Add four more lines
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A7"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


Sub Example7()
Dim basebook As Workbook
Dim mybook As Workbook
Dim sourceRange As Range
Dim destrange As Range
Dim rnum As Long
Dim lrow As Long
Dim SourceRcount As Long
Dim FNames As String
Dim MyPath As String
Dim SaveDriveDir As String

SaveDriveDir = CurDir
MyPath = "C:\Data"
ChDrive MyPath
ChDir MyPath

FNames = Dir("*.xls")
If Len(FNames) = 0 Then
MsgBox "No files in the Directory"
ChDrive SaveDriveDir
ChDir SaveDriveDir
Exit Sub
End If

Application.ScreenUpdating = False
Set basebook = ThisWorkbook
basebook.Worksheets(Substandard).Cells.Clear
' clear all cells on the first sheet
rnum = 1

Do While FNames < ""
Set mybook = Workbooks.Open(FNames)
lrow = LastRow(mybook.Sheets(Substandard))
Set sourceRange = mybook.Worksheets(Substandard).Range("A2:IV" & lrow)
'Copy from A2:IV? (till the last row with data on your sheet)
SourceRcount = sourceRange.Rows.Count
Set destrange = basebook.Worksheets(Substandard).Cells(rnum, "A")

' sourceRange.Copy destrange
' Instead of this line you can use the code below to copy only the
values

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

mybook.Close False
rnum = rnum + SourceRcount
FNames = Dir()
Loop
ChDrive SaveDriveDir
ChDir SaveDriveDir
Application.ScreenUpdating = True
End Sub

Thanks for helping.

Marie





"Ron de Bruin" wrote:

Hi Marie

above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work?

Yes

I think I will create the C:\Data folder (empty folder) and run this macro first

Sub Copy_Files()
FileCopy "K:\csb\csb.xls", "C:\Data\csb.xls"
FileCopy "K:\bag\bag.xls", "C:\Data\bag.xls"
'Add four more lines
End Sub

Then try the sub from my site (copy the lastrow function also in the module)
You can change C:\Data to any folder

After the macro is ready you can use Kill to delete the files in C:\Data

If you need more help post back



--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
Thanks! The site is very helpful!

I think the code I need is 'Copy all cells from the sheet or all cells
without the header row'

As I said I know some basic VB. I have a couple of questions about the code.

MyPath = "C:\Data"

I assume this is where I place the name of the folder I want to pull the
data from. Do all the files have to be in the same folder? In the example
above are all the files being copied in 'Data'. As I said mine are in
K:\csb\csb.xls and K:\bag\bag.xls, etc. Six different folders. Do I need to
create a folder to save them all in for this to work? They all have a sheet
that I want to copy with the same name but the files are all in different
folders.

And this line 'Copy from A2:IV? (till the last row with data on your sheet)

Is the IV like a wildcard? Does it copy everything on the sheet?

Thanks for your patience. I really appreciate it!

Marie




"Ron de Bruin" wrote:

You can start here Marie
http://www.rondebruin.nl/copy3.htm

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Marie" wrote in message ...
I am working with 6 files. I need to copy the data from a sheet (within each
workbook/file) named 'substandard' and paste the information into the
'substandard' sheet in the master file. To do this I have been opening the
master file, placing the cursor where I want the information, opening the
file I wish to copy from, selecting the substandard sheet, copying the
information from the sheet and choosing paste special to the master file.
This takes forever. The files are all located in K:\fab\fab.xls,
K:\csb\csb.xls, K:\bsf\bsf.xls, K:\bag\bag.xls K:\bnp\bnp.xls to be
pasted into K:\corp\corp.xls. The sheets to select from within the files is
named 'substandard' - all with the same headings. I need to copy starting
from cell A6.
The sheets all have different amounts of data so I can't set a static range
to copy. And I don't know where it will need to be pasted in the master
sheet, or in other words the next empty row.

I know how to record a macro with the macro writer, but that is about it and
since the amount of data varies I am stumped.

Any suggestions??
Thanks for any help.
Marie






All times are GMT +1. The time now is 04:38 PM.

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