Tran Too
Tran Too

Reputation: 1

importing a csv file into a workbook

I want to be able to click a button and select the file I want to import. I've done this but after it says my file has been imported nothing happens.

What am i missing?

Sub GetImportFileName()
    Dim Filt As String
    Dim Title As String
    Dim FileName As Variant
    Dim FilterIndex As Integer

    Filt = "Comma Separated Files (*.csv),*.csv,"
    FilterIndex = 5
    Title = "Select a File to Import"

    FileName = Application.GetOpenFilename _
    (FileFilter:=Filt, _
     Title:=Title)

     If FileName = False Then
        MsgBox "No file was selected."
        Exit Sub
     End If

     MsgBox "You selected " & FileName      
End Sub

Upvotes: 0

Views: 58

Answers (1)

AnalystCave.com
AnalystCave.com

Reputation: 4974

I don't see any code that would import the CSV. You only acquire the FileName. You are missing something like this ( Comma (,) as delimiter)

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & fileName & "", Destination:=Range("$A$1" _
    ))
    .CommandType = 0
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 852
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

Upvotes: 1

Related Questions