Hello Liz,
I took the code Rob was kind enough to post above and expanded it to check for matches by building an array of file names and then going down column A until it hit the last row of the spreadsheet. I left a couple message boxes in place so you could watch it work.
If you still have questions, please repost and we'll try to help you. Thanks for the opportunity to work on something like this. I know that I'll be needing to do something very similar soon and now it's most of the way done.
Hope this helps and have a great day!
PS. I put this in the cell change event so it was easy to trigger. You may want to trigger it another way. Either way, the code should still work.
PSS. Due to the way this displays, things wrap funny sometimes. If you just paste the whole thing into a VB editor or WordPad it should reformat itself nicely into something easier to read.
******************* Code *****************************
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
Call ProcessFiles
End Sub
Private Sub ProcessFiles()
Dim avarFileNames As Variant 'Array to hold file names
Dim lngColumntToMatch As Long 'Which column should it check
'Build array of File Names using Application.FindFile
Call GetFileNames(avarFileNames)
'Search Column 1 (eg A)
lngColumntToMatch = 1
'Check specified column against array of file names
Call MatchFileNames(avarFileNames, lngColumntToMatch)
End Sub 'ProcessFiles
'If no file names or path passed, setup defaults in code
Private Sub GetFileNames(ByRef avarArray As Variant, _
Optional ostrPath As String, _
Optional ostrFiles As String)
Dim fs As FileSearch
Dim lngX As Integer
Dim strPath As String
Dim strFiles As String
'Use path if given, otherwise default to something here
If Len(ostrPath) Then
strPath = Trim$(ostrPath)
Else
strPath = "H:\Microsoft Excel Data"
End If
'Use files if given, otherwise default something here
If Len(ostrFiles) Then
strFiles = Trim$(ostrFiles)
Else
strFiles = "*.xls" 'Default to Excel files
End If
'Set reference to FileSearch object - not required but
'saves scrolling through Application object if debugging
Set fs = Application.FileSearch
With fs 'Faster and saves having to say fs.lookin, etc
.LookIn = strPath
.Filename = strFiles
'Can use path qualified .FileName if desired
' .Filename = "H:\Microsoft Excel Data\*.xls"
If .Execute > 0 Then 'If anything found process it
'Dimension as ones based to keep life simple
ReDim avarArray(1, .FoundFiles.Count)
For lngX = 1 To .FoundFiles.Count
avarArray(0, lngX) = .FoundFiles(lngX) 'With path
avarArray(1, lngX) = _
StripPath(.FoundFiles(lngX), "\"

Next lngX
End If
End With
End Sub 'GetFileNames
'Strip path from a File Name w/ Path and return File Name
Private Function StripPath(pstrFileNameWithPath, _
pstrDelim As String) As String
Dim lngX As Long
Dim lngPos As Long
'In case delimiter is not found set to input parm value
StripPath = pstrFileNameWithPath
'Work from end of string backwards looking for delimiter
For lngX = Len(pstrFileNameWithPath) To 1 Step -1
If Mid$(pstrFileNameWithPath, lngX, 1) = pstrDelim Then
StripPath = Mid$(pstrFileNameWithPath, lngX + 1)
Exit For
End If
Next lngX
End Function 'StripPath
'Check specified Column values against array of File Names
Private Sub MatchFileNames(pvarArray As Variant,
plngColToMatch As Long)
Dim lngRow As Long
Dim lngRows As Long
Dim strFileNameWithPath As String
'How many rows should be checked
lngRows = GetSpreadsheetRows()
For lngRow = 1 To lngRows
With Worksheets("Sheet1"

.Cells(lngRow, plngColToMatch)
MsgBox "Checking: " & .Text & " Row: " & lngRow
'Does current Column cell text match File Names array
strFileNameWithPath = _
FileNameMatched(.Text, pvarArray)
'No match returns an empty string so check length
If Len(strFileNameWithPath) > 0 Then
MsgBox "Found: " & strFileNameWithPath
'Do something here as you need to
End If
End With
Next lngRow
'Application.ScreenUpdating = False
End Sub
'If name matches array then array element w/ path returned
Private Function FileNameMatched(pstrNameToMatch, _
pvarFilesArray As Variant) As String
Dim lngX As Long
Dim lngPos As Long
'If file name is not matched return an empty string
FileNameMatched = vbNullString
'If spreadsheet names do not include extension add it
If InStr(pstrNameToMatch, "."

= 0 Then
pstrNameToMatch = Trim$(pstrNameToMatch) & ".xls"
End If
'Expecting 2 dimenional array, spin it looking for match
'used ones based array because it makes things easier
For lngX = 1 To UBound(pvarFilesArray, 2)
'If file name only matches return file name with path
If UCase$(pvarFilesArray(1, lngX)) = _
UCase$(pstrNameToMatch) Then
FileNameMatched = pvarFilesArray(0, lngX)
Exit For 'Found a match so no need to continue
End If
Next lngX
End Function 'FileNameMatched
'Determine number of rows in requested worksheet - Default
'is ActiveSheet - If another sheet requested, ActiveSheet
'is saved and then reactivated before exiting
Private Function GetSpreadsheetRows(_
Optional oxlExcelWS As Worksheet) As Long
Dim strSheetName As String
'Get lower right hand corner of requested worksheet
If oxlExcelWS Is Nothing Then
'Go to the lower right hand corner of the worksheet
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Activate
'Return the row we are on
GetSpreadsheetRows = ActiveCell.Row
Else
'Save currently active worksheet
strSheetName = ActiveSheet.Name
'Activate requested worksheet
oxlExcelWS.Activate
'Go to the lower right hand corner of the worksheet
oxlExcelWS.Cells.SpecialCells(xlCellTypeLastCell).Activate
'Return the row we are on
GetSpreadsheetRows = ActiveCell.Row
'Reactivate original worksheet
Sheets(strSheetName).Activate
End If
End Function 'GetSpreadsheetRows
*********************** End Code **************************