![]() |
Open files by looking at list names in column A
Hi all, I got names in column A of Workbooks("Summary.xls").Sheets
("Sheet1") like see below A………….col John Vikki Ali Sophy Dean In folder "C:\Documents\Records" I have two files like see below Record for John Record for Sophy I want macro which should match names of column A with the file names and if exist then it should open that file. I wrote below macro which only opening file with name "Record of John" as it should also open "Record for Sophy" because the name Sophy also exist in column A list. Please can any friend help that whats wrong with macro below Sub Test() fldrName = "C:\Documents\Records" With Workbooks("Summary.xls").Sheets("Sheet1") lastcl = .Cells(Rows.Count, "A").End(xlUp).Row For RowCount = 2 To lastcl If .Range("A" & RowCount) < "" Then pnm = .Range("A" & RowCount).Value fName = Dir(fldrName & "\" & "*" & pnm & "*.xls") If fName = "" Then GoTo lastmsg Set bk = Workbooks.Open(Filename:=fldrName & "\" & fName) End If fName = Dir() Next End With lastmsg: MsgBox "Its Done!", vbInformation, "Done" End Sub |
Open files by looking at list names in column A
K wrote:
Hi all, I got names in column A of Workbooks("Summary.xls").Sheets ("Sheet1") like see below A………….col John Vikki Ali Sophy Dean In folder "C:\Documents\Records" I have two files like see below Record for John Record for Sophy I want macro which should match names of column A with the file names and if exist then it should open that file. I wrote below macro which only opening file with name "Record of John" as it should also open "Record for Sophy" because the name Sophy also exist in column A list. Please can any friend help that whats wrong with macro below Sub Test() fldrName = "C:\Documents\Records" With Workbooks("Summary.xls").Sheets("Sheet1") lastcl = .Cells(Rows.Count, "A").End(xlUp).Row For RowCount = 2 To lastcl If .Range("A" & RowCount) < "" Then pnm = .Range("A" & RowCount).Value fName = Dir(fldrName & "\" & "*" & pnm & "*.xls") If fName = "" Then GoTo lastmsg Set bk = Workbooks.Open(Filename:=fldrName & "\" & fName) End If fName = Dir() Next End With lastmsg: MsgBox "Its Done!", vbInformation, "Done" End Sub Your inner-most loop is breaking at If fName = "" Then GoTo lastmsg because there is no "Vikki" file. Try this: ' code begin --------------------------------- Sub Test() fldrname = "C:\Documents\Records" With Workbooks("Summary.xls").Sheets("Sheet1") lastcl = .Cells(Rows.Count, "A").End(xlUp).Row For RowCount = 2 To lastcl If .Range("A" & RowCount) < "" Then pnm = .Range("A" & RowCount).Value fName = Dir(fldrname & "\" & "*" & pnm & "*.xls") If fName < "" Then Set bk = Workbooks.Open(Filename:=fldrname & "\" & fName) End If End If Next End With lastmsg: MsgBox "Its Done!", vbInformation, "Done" End Sub ' code end ------------------------------------ A few suggestions: * use Option Explicit and declare all variables * indent your code for better readability * avoid using "GoTo" -- there is almost always a better way to handle conditional execution Hope this helps. |
All times are GMT +1. The time now is 01:35 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com