Private Sub Workbook_Open() CSVImport
End Sub
Sub CSVImport()
On Error Resume Next
For Each c In ThisWorkbook.Connections
c.Delete
Next
MakeLink ThisWorkbook.Path & "\" & "top_sites.csv", "TopSites", "TopSites!D1", 1, Array(2), "@"
MakeLink ThisWorkbook.Path & "\" & "sites_by_months.csv", "SitesMonths", "SitesMonths!H17", 1, Array(1, 1, 9), "m/d/yyyy"
x = Dir(ThisWorkbook.Path & "\*msg_adv.csv")
MakeLink ThisWorkbook.Path & "\" & x, "Test", "Test!A1", 1, Array(5), "m/d/yyyy"
End Sub
Sub MakeLink(strFileName As String, strSheetName As String, strRangeAddress As String, startRow As Long, FirstColmcsvFormat, FirstColmSheetFormat)
With Sheets(strSheetName).QueryTables.Add(Connection:="TEXT;" & strFileName, Destination:=Range(strRangeAddress))
'.Name = "ABC" 'no need to name every query the same (unless you're going to use them)!
'.FieldNames = True'default
'.RowNumbers = False 'default
'.FillAdjacentFormulas = False 'default
'.PreserveFormatting = True 'default
'.RefreshOnFileOpen = False 'default
.RefreshStyle = xlOverwriteCells
'.SavePassword = False 'default
'.SaveData = True 'default
'.AdjustColumnWidth = True 'default
'.RefreshPeriod = 0 'default
'.TextFilePromptOnRefresh = False 'default
.TextFilePlatform = 437
.TextFileStartRow = startRow
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
'.TextFileColumnDataTypes = Array(2)
'.TextFileColumnDataTypes = Array(5)
.TextFileColumnDataTypes = FirstColmcsvFormat
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.ResultRange.Columns(1).NumberFormat = FirstColmSheetFormat
'.ResultRange.Columns(1).NumberFormat = "m/d/yyyy" 'or however you want it.
End With
End Sub