you can try this
(with including Microsoft Excel x.x Object Library)

VB Code:
  1. Sub MakeXL(csvPath As String, NewXLPath As String, NewXLSheetName As String, Delimiter As String)
  2.  
  3. Dim wb As Workbook, ws As Worksheet
  4. Set wb = Workbooks.Add: Set ws = wb.Worksheets.Add
  5. ws.Name = NewXLSheetName
  6.  
  7. ff = FreeFile
  8. Open csvPath For Input As ff
  9. On Error Resume Next
  10.     Do While Not EOF(ff)
  11.     Line Input #ff, buff
  12.     n = n + 1
  13.     buff = Split(buff, Delimiter)
  14.         If IsArray(buff) Then
  15.             For c = 0 To UBound(buff)
  16.               ws.Range(Chr(c + 65) & n) = buff(c)
  17.               If Err Then
  18.                 'if the first char of the item is -,+,= or etc. an error occures
  19.                 ws.Range(Chr(c + 65) & n) = "'" & buff(c)
  20.                 'so we add a ' sign to the first char
  21.               End If
  22.             Next c
  23.         Else
  24.             ws.Range(Chr("A" & n)) = buff
  25.         End If
  26.         If Err Then MsgBox "Error on col:" & c + 1 & " row:" & n & vbCrLf & Err.Description
  27.         Err.Number = 0
  28.     Loop
  29. Close #ff
  30.  
  31. wb.Close True, NewXLPath
  32. End Sub

i tried the code and it ok