Thread: Folder search
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.misc
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Folder search

Change the variable Folder as required

Sub myfind()
Dim Message, Title, Default, SearchString

'define folder, make sure slash is last character
Folder = "c:\temp\"

Message = "Enter date as ( d-* or dd-* )" ' Set prompt.
Title = "Select Day " ' Set title.
Default = "dd-mmm-yy" ' Set default.
' Display message, title, and default value.
SearchString = InputBox(Message, Title, Default)

FName = Dir(Folder & "*.xls")
Do While FName < ""
Set bk = Workbooks.Open(Filename:=Folder & FName)

Found = False
For Each S In bk.Sheets

With S.Range("A1:IV65536")
Set F = .Find(SearchString, MatchCase:=False, _
LookAt:=xlPart, LookIn:=xlValues)
If Not F Is Nothing Then

Location = F.Address
S.Range(Location).Select
Found = True
Exit For
End If
End With
Next S
If Found = False Then
bk.Close savechanges:=False
Else
Exit Do
End If
Loop
End Sub


"Sj" wrote:

At present to search for a date within my workbook I use the following code,

Sub myfind()
Dim Message, Title, Default, SearchString
Message = "Enter date as ( d-* or dd-* )" ' Set prompt.
Title = "Select Day " ' Set title.
Default = "dd-mmm-yy" ' Set default.
' Display message, title, and default value.
SearchString = InputBox(Message, Title, Default)

'SearchString = "Rob"
Set S = Sheets.Application
For Each S In Application.Sheets

With S.Range("A1:IV65536")
Set F = .find(SearchString, MatchCase:=False, LookAt:=xlPart,
LookIn:=xlValues)
If F Is Nothing Then
Else
Location = F.Address
S.Select
Range(Location).Select
Exit For
End If
End With
Next S
End Sub


What I want to do is to be able to apply this to searching a folder and it's
subfolders for a date within the books in the folders. The date I will be
searching for will only ever exist once in the folders. Is there a way I can
search the folders for a date that exists in a cell on each spreadsheet