How do i copy a cell from a workbook to another workbook?

T

Tony

Hi

I have a data in Cells G25. And I have 20 xls files in a folder.

What i want to do is I would like to copy the cells G25 from this 20 xls
files into a new workbook. How could I do that?

Please can i have some help?

Thanks a lot

Tony
 
M

Mark Ivey

Here is one method...

You will need a workbook with the filename "Work.xls" for this one to work
out right. Also you can only have the "Work.xls" file open when you run this
macro or it will not work correctly.

With the workbook "Work.xls" open, make a new module and paste the following
code...

Then run the macro.


Sub OpenFiles()
Dim fn As Variant, f As Integer, i As Integer, counter As Integer

i = 1
fn = Application.GetOpenFilename("CSV Files,*.csv", _
1, "Select One Or More Files To Open",
, True)
If TypeName(fn) = "Boolean" Then Exit Sub
For f = 1 To UBound(fn)
Debug.Print "Selected file #" & f & ": " & fn(f)
Workbooks.Open fn(f)

While i = 1

Range("G25").Select
Selection.Copy
Windows("Work.xls").Activate
Range("A1").Select
ActiveSheet.Paste

i = i + 1
Wend

If (f > 1) Then

While (i <= f)
Range("G25").Select
Selection.Copy
Windows("Work.xls").Activate
Range("A1").Select
Cells(i, 1).Select
ActiveSheet.Paste

i = i + 1
Wend

End If

ActiveWindow.ActivateNext
ActiveWindow.Close False

Next f
End Sub
 
M

Mark Ivey

You needed it for XLS files... my bad... try the following macro:

Sub OpenFiles()
Dim fn As Variant, f As Integer, i As Integer, counter As Integer

i = 1
fn = Application.GetOpenFilename("Excel Files,*.xls", _
1, "Select One Or More Files To Open",
, True)
If TypeName(fn) = "Boolean" Then Exit Sub
For f = 1 To UBound(fn)
Debug.Print "Selected file #" & f & ": " & fn(f)
Workbooks.Open fn(f)

While i = 1

Range("G25").Select
Selection.Copy
Windows("Work.xls").Activate
Range("A1").Select
ActiveSheet.Paste

i = i + 1
Wend

If (f > 1) Then

While (i <= f)
Range("G25").Select
Selection.Copy
Windows("Work.xls").Activate
Range("A1").Select
Cells(i, 1).Select
ActiveSheet.Paste

i = i + 1
Wend

End If

ActiveWindow.ActivateNext
ActiveWindow.Close False

Next f
End Sub
 
T

Tony

I got a Excel VBA program which is used to generate report.

All i want to do is

1. Click the generate button
2. Copy the Cells G25 from 10 folders with 20 different xls files
3. generate it to my existing workbook performance score worksheet

Is your macro able to do that?

Thanks for your help

Tony
 
M

Mark Ivey

Not as it is...

It would need some work...

If you need more in-depth help, give me the path these files are located in
and I will see what I can do from there.

Mark
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top