Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default 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
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default 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

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default 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


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default 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


  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default 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




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default 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


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default 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



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default 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



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 143
Default 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




  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default 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




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Copy from one Sheet and paste on another sheet based on condition Prem Excel Discussion (Misc queries) 2 December 24th 07 05:05 AM
Active Cell Copy And Paste Sheet to Sheet A.R.J Allan Jefferys New Users to Excel 4 May 4th 06 02:04 AM
automatic copy and paste from sheet to sheet in a workbook ramseyjramseyj Excel Programming 6 December 11th 04 12:37 AM
Copy from sheet and paste to last row used JUAN Excel Programming 1 April 30th 04 03:03 AM
pls help!! copy -paste to another sheet. getting the sum Gale7 Excel Programming 4 October 23rd 03 03:55 PM


All times are GMT +1. The time now is 01:51 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"