Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I'm using Excel 2003 and have a macro that allows a user to select files in a sub directory, does a search for specific data in each file, extracts data in another column if there is a match, etc. I also require that the user can select a single file. I tried to modify the code I have, but it will not work. Any help would be appreciated..... this is what I have tried: Sub GetSingleFile() Dim FileName As Variant FileName = Application.GetOpenFilename If FileName = False Then Debug.Print "user cancelled" Else Debug.Print "file selected: " & FileName End If DestSht = "sheet1" With ThisWorkbook.Sheets(DestSht) SearchData = .Range("A1").Text End With Call ReadCSV(myFileName, SearchData, DestSht) End Sub Sub ReadCSV(ByVal myFileName As Variant, ByVal SearchData As String, ByVal DestSht) Dim Data As String Dim Data1 As Date Dim Data2 As String Dim Data3 As String LastRow = ThisWorkbook.Sheets(DestSht) _ ..Range("A" & Rows.Count).End(xlUp).Row NewRow = LastRow + 1 RowCount = NewRow FName = "h:\myFile.csv" Do While FName < "" Workbooks.OpenText FileName:=Folder & "\" & FName, _ DataType:=xlDelimited, Comma:=True Set CSVFile = ActiveWorkbook Set CSVSht = CSVFile.Sheets(1) 'check if data exists in column 77 Set c = CSVSht.Columns(77).Find(What:=SearchData, _ LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then FirstAddr = c.Address Do Data1 = CSVSht.Cells(c.Row, 110) Data2 = CSVSht.Cells(c.Row, 70) Data3 = Left(Data2, 19) With ThisWorkbook.Sheets(DestSht) ..Range("B" & RowCount) = FName ..Range("A" & RowCount) = Data3 RowCount = RowCount + 1 End With Set c = CSVSht.Columns(77).FindNext(after:=c) Loop While Not c Is Nothing And c.Address < FirstAddr End If CSVFile.Close savechanges:=False FName = Dir() Application.ScreenUpdating = False Range("A3:B500").Select Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A3").Select Application.ScreenUpdating = True MsgBox "Search Is Complete", vbInformation End Sub Thank you! -- Linda |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Search string to search for wild terms in Access database | Excel Programming | |||
Wildcard search for string within a string? | Excel Programming | |||
to search for a string and affect data if it finds the string? | Excel Worksheet Functions | |||
search a string withing a string : find / search hangs | Excel Programming | |||
VBA function : How to search a string in another string? | Excel Programming |