VBA Select File

L

L.Mathe

I am using Excel 2003. I have a workbook that runs a macro to search through
all files in a folder for specific text, and extract that text into the
worksheet. I need to create another macro where just a single file can be
selected then extract the data from the one file only. I tried to modify the
VBA, but run into an error code 'Object Required'. What I attempted to do
was:

Sub GetSingleFile()

DestSht = "sheet1"
With ThisWorkbook.Sheets(DestSht)
SearchData = .Range("A1").Text
End With

Dim fd As FileDialog
Set fd = Application.GetOpenFilename
Dim vrtSelectedItem As Variant
With fd
If .Show = -1 Then
Call ReadCSV(Folder, SearchData, DestSht)

End If
End With

Set fd = Nothing
End Sub

I have not included the Sub routine here, possibly that is where the problem
is. Could someone please help with this VBA?

Thank you!
 
D

Dave Peterson

Maybe...

Sub GetSingleFile()
dim DestSht as string
dim myFileName as variant

myfilename = application.getopenfilename
if myfilename = false then
'user hit cancel
exit sub
end if

DestSht = "sheet1"
With ThisWorkbook.Sheets(DestSht)
SearchData = .Range("A1").Text
End With

Call ReadCSV(myfilename, SearchData, DestSht)

End Sub

myFileName will be False (the boolean) if the user hits cancel. It will include
the path and filename if the user selects a file.
 
C

Chip Pearson

Try some code like

Dim FileName As Variant
FileName = Application.GetOpenFilename
If FileName = False Then
Debug.Print "user cancelled"
Else
Debug.Print "file selected: " & FileName
End If

Cordially,
Chip Pearson
Microsoft Most Valuable Professional,
Excel, 1998 - 2010
Pearson Software Consulting, LLC
www.cpearson.com
 
L

L.Mathe

Much appreciated. I had to do a minor change to the sub routine it was
calling to deal with a single file instead of a group. But this works!

THANK YOU!
 

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