Sub ImportCSV() Dim myarray() As Variant MyPath = Application.GetSaveAsFilename() For i = 0 To 16384 ReDim Preserve myarray(i) myarray(i) = 2 Next i With ActiveWorkbook.Sheets(1).QueryTables.Add(Connection:="TEXT;" & MyPath, Destination:=Range("A1")) .Name = "mytest" .FieldNames = True .AdjustColumnWidth = True .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = True .TextFileCommaDelimiter = False .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = myarray .Refresh BackgroundQuery:=False End With ActiveWorkbook.Sheets(1).QueryTables("mytest").Delete End Sub