happyghost2000
Thành viên chính thức
- Tham gia
- 24/5/08
- Bài viết
- 70
- Được thích
- 6
Chào các Anh, Chị . Em có đoạn code coppy các file text vào 1 file excel . Trong đoạn code này em muốn thêm lấy "Source Filename" vào cột cuối hay cột đầu của dữ liệu coppy .
Mong Anh, Chị thêm dùm em với . Em cám ơn nhiều
Mong Anh, Chị thêm dùm em với . Em cám ơn nhiều
Mã:
Sub Kho_Thanh_Pham()
Dim Index As Long, n As Long, col As Long, row As Long, Text As String
Dim Rng As Range, FSO As Object, FilesToImport
Dim TextSource As Object, NumOfLines, Cols, Res()
Sheets("ONVKSOKO").Range("A2:L65536").ClearContents
Set Rng = Sheets("ONVKSOKO").Range("A2")
FilesToImport = Application.GetOpenFilename("Text Files (*.txt), *.txt", , , , True)
If IsArray(FilesToImport) Then
Set FSO = CreateObject("Scripting.FileSystemObject")
For Index = 1 To UBound(FilesToImport)
n = 0
Set TextSource = FSO.OpenTextFile(FilesToImport(Index), 1, , -2)
NumOfLines = Split(TextSource.ReadAll, vbCrLf)
If UBound(NumOfLines) > 0 Then
ReDim Res(1 To UBound(NumOfLines), 1 To 1)
For row = 1 To UBound(NumOfLines)
Text = NumOfLines(row)
If Text <> "" Then
If Text <> String(Len(Text), ",") Then
n = n + 1
Cols = Split(Text, ",")
If UBound(Res, 2) < UBound(Cols) + 1 Then
ReDim Preserve Res(1 To UBound(NumOfLines), 1 To UBound(Cols) + 1)
End If
For col = 1 To UBound(Res, 2)
Res(n, col) = Replace(Cols(col - 1), """", "")
Next
End If
End If
Next
End If
Rng.Resize(n, UBound(Res, 2)).Value = Res
Set Rng = Rng.Offset(n)
Next
End If
End Sub
File đính kèm
Lần chỉnh sửa cuối: