Import Dữ Liệu từ File TXT vào bảng tính (2 người xem)

  • Thread starter Thread starter tiensy24
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

tiensy24

Thành viên mới
Tham gia
15/12/08
Bài viết
6
Được thích
0
Chào các bạn mình có một File txt và file Excel. Nội dung file TXT của mình như sau:

Dòng 1: Ca Rot
Dòng 2: Dua Leo
Dòng 3: Dua Hau

Mình muốn khi chạy code thì dòng 1 (file TXT) được đưa vào ô A2, Dòng 2 chạy vào ô B2, Còn dòng 3 chạy vào ô D7. Nếu file TXT vượt quá số dòng cho phép thì, excel sẽ thông báo lỗi.

Cảm ơn các bạn
 

File đính kèm

Bạn sử dụng đoạn code này xem thử đúng ý bạn chưa.
Mã:
Sub GPE()
Dim myFile As String, textline1 As String, textline2 As String, textline3 As String, kt As Boolean
myFile = ThisWorkbook.Path & "\File Mau.txt"


Open myFile For Input As #1
        Line Input #1, textline1
        Line Input #1, textline2
        Line Input #1, textline3
        kt = EOF(1)
Close #1
If Not kt Then
    MsgBox "Du lieu qua so dong quy dinh"
    Exit Sub
End If
    Range("A2").Value = textline1
    Range("B2").Value = textline2
    Range("D7").Value = textline3
End Sub
 
úi trời, đúng rồi. cảm ơn bác rất nhiều
 
Bác cho em hỏi, với lệnh này có hạn chế là.
- Nếu chữ tiếng việt unicode thì vào file excel nó bể font.
- Nếu giả sử file text có hai dòng thì lỗi không chạy đc lênh?
Bác có cách nào khắc phục đc không? cảm ơn bác
 
Bác cho em hỏi, với lệnh này có hạn chế là.
- Nếu chữ tiếng việt unicode thì vào file excel nó bể font.
- Nếu giả sử file text có hai dòng thì lỗi không chạy đc lênh?
Bác có cách nào khắc phục đc không? cảm ơn bác
Vậy sửa code lại thế này thử xem.
Mã:
Sub GPE()
On Error GoTo Loi
Dim myFile As String, textline1 As String, textline2 As String, textline3 As String, textline4 As String
Dim var_f As Object, var_file_sys As Object, var_txt_file, i As Integer
'---------------
myFile = ThisWorkbook.Path & "\File Mau.txt"
    Set var_file_sys = CreateObject("Scripting.FileSystemObject")
    Set var_f = var_file_sys.GetFile(myFile)
    Set var_txt_file = var_f.OpenAsTextStream(1, -1)
        i = 0: textline1 = var_txt_file.ReadLine
        i = 1: textline2 = var_txt_file.ReadLine
        i = 2: textline3 = var_txt_file.ReadLine
        i = 3: textline4 = var_txt_file.ReadLine
        i = 4: var_txt_file.Close
'---------------
Loi:
If Err.Number = 0 Then
    MsgBox "Du lieu qua so dong quy dinh"
Else
    If i > 0 Then Range("A2").Value = textline1
    If i > 1 Then Range("B2").Value = textline2
    If i > 2 Then Range("D7").Value = textline3
End If
End Sub
 
đúng ý em rồi, cảm ơn bác nhiều. Lúc nào bác ghé biên hòa được, alo em cà phế nhé
 
Web KT

Bài viết mới nhất

Back
Top Bottom