ผมใช้คำสั่งนี้ในการ ImportFile
Code: Select all
Sub ImportData()
TextFileImport = Application.GetOpenFilename("Text Files (*.CSV;*.TXT;*.OUT;*.*),*.CSV", , _
"Select Text Data File", , True)
For i = 1 To UBound(TextFileImport)
Set rTarget = Worksheets(1).Range("A65536").End(xlUp).Offset(0, 0)
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & TextFileImport(i), _
Destination:=rTarget)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001 'à»ÅÕè¹ÀÒÉÒà»ç¹ UTF-8
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
Call Broken
End With
Next i
End Sub
ถ้าไฟล์ที่ Import ไม่มีตัวเลขที่เกินจากจากหลักพัน (1,000) มันก็จะเข้ามาเป็นปกติที่ Column A แต่ถ้าเจอเมื่อไรมันจะแยกออกเป็นอีก Column ให้ แบบนี้
A | B
1 | 000
ซึ่งผมไม่ได้ต้องการ คือ
A
1,000
รบกวนช่วยตรวจสอบหน่อยครับ ว่าควรจะต้องแก้ไขคำสั่งหรือเพิ่มเติมตรงไหนครับ ขอบคุณครับ