nhatruông30
Thành viên mới

- Tham gia
- 3/10/09
- Bài viết
- 3
- Được thích
- 0
Chào mọi người,
Mình có nhiều file txt có nội dung tương tự nhau. Mỗi file txt có 3 cột. Mình muốn chuyển cột ở giữa của tất cả các file txt vào nhiều cột khác nhau trong cùng 1 sheet của excel.
Mình tìm được đoạn code trên mạng nhưng khi chạy thì nó báo lỗi 53. Xin nhờ mọi người giúp đỡ dùm. File txt trong file đính kèm. Cám ơn mọi người nhiều.
Đoạn code của mình là:
Mình có nhiều file txt có nội dung tương tự nhau. Mỗi file txt có 3 cột. Mình muốn chuyển cột ở giữa của tất cả các file txt vào nhiều cột khác nhau trong cùng 1 sheet của excel.
Mình tìm được đoạn code trên mạng nhưng khi chạy thì nó báo lỗi 53. Xin nhờ mọi người giúp đỡ dùm. File txt trong file đính kèm. Cám ơn mọi người nhiều.
Đoạn code của mình là:
Mã:
Sub test()
Dim myDir As String, fn As String
Dim txt As String, x, i As Long, t As Long
Const delim As String = vbTab
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show Then
myDir = .SelectedItems(1)
Else
Exit Sub
End If
End With
fn = Dir(myDir & "\*.txt")
Do While fn <> ""
If FileLen(fn) Then
t = t + 1
txt = CreateObject("Scripting.FileSystemObject") _
.OpenTextFile(myDir & "\" & fn).ReadAll
x = Split(txt, vbCrLf)
For i = 0 To UBound(x)
If x(i) Like "*" & delim & "*" Then
x(i) = Split(x(i), delim)(1)
End If
Next
With Sheets(1).Cells(1, t)
.Value = fn
With .Offset(1).Resize(UBound(x) + 1)
.NumberFormat = "@"
.Value = Application.Transpose(x)
End With
End With
End If
fn = Dir
Loop
End Sub