Fetching 2 values from 20 excel files

T

Thulasiram

Happy Friday to all the members!

I have a text box in the excel file where the user enters the path in
which many excel files are located. For example, if the user has 20
excel files in C:\files\data, then user would enter C:\files\data in
the text box and would click a command button.

If the command button is clicked, I am looking for the code that
would:
1. Locate all the files with *.xls extension
2. Fetch the data from the cells D7 and D8 from the first worksheet of
each excel workbook.
3. Paste those data in the new excel file in columns A and B starting
with A2 and B2.

i.e. D7 and D8 values from first excel file will go into A2 and B2; D7
and D8 values from second excel file will go into A3 and B3 and so
on.....

Can someone give some tips or code to accomplish this? I would deeply
appreciate this help.

Thank you very much.
 
T

Thulasiram

Hi Ron,

Thank you for your reply. I will give them a try and explore the
possibilities of solving my problem.

Regards,Thulasiram

Hi Ron,

I got almost everything correct except but this. The code given below
copies D7 and D8 and copies on A1 and A2 on the new worksheet. How
should the code be tweaked in order to copy the D7 and D8 values to A1
and B1? Please clarify.

If Fnum > 0 Then
For Fnum = LBound(MyFiles) To UBound(MyFiles)

'Find the last row with data
rnum = LastRow(sh)

'create the destination cell address
Set destrange = sh.Cells(rnum + 1, "A")

' Copy the workbook name in Column E
sh.Cells(rnum + 1, "E").Value = MyPath & MyFiles(Fnum)

'Get the cell values and copy it in the destrange
'Change the Sheet name and range as you like
GetData MyPath & MyFiles(Fnum), "Cross Axis", "D7:D8",
destrange, False, False
Next
End If
 
T

Thulasiram

Hi Ron,

I got almost everything correct except but this. The code given below
copies D7 and D8 and copies on A1 and A2 on the new worksheet. How
should the code be tweaked in order to copy the D7 and D8 values to A1
and B1? Please clarify.

If Fnum > 0 Then
For Fnum = LBound(MyFiles) To UBound(MyFiles)

'Find the last row with data
rnum = LastRow(sh)

'create the destination cell address
Set destrange = sh.Cells(rnum + 1, "A")

' Copy the workbook name in Column E
sh.Cells(rnum + 1, "E").Value = MyPath & MyFiles(Fnum)

'Get the cell values and copy it in the destrange
'Change the Sheet name and range as you like
GetData MyPath & MyFiles(Fnum), "Cross Axis", "D7:D8",
destrange, False, False
Next
End If

Got it!

GetData MyPath & MyFiles(Fnum), "Cross Axis", "D7:D7", destrange,
False, False

Set destrange = sh.Cells(rnum + 1, "B")
GetData MyPath & MyFiles(Fnum), "Cross Axis", "D8:D8",
destrange, False, False

Ron! Your code helped me solve the problem!
 

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