Cập nhật dữ liệu từ file đang đóng (1 người xem)

  • Thread starter Thread starter kulyvn
  • Ngày gửi Ngày gửi

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

kulyvn

Thành viên thường trực
Tham gia
3/8/11
Bài viết
283
Được thích
4
Mình muốn cập nhật dữ liệu từ file TongHop.xls sang file ABC với điều kiện trước khi tổng hợp như sau:
Nếu có bất kỳ ô nào ở [TongHop.xls]THA!$DX$10:$DX$60000<>"" thì tổng hợp dữ liệu từ file TongHop.xls sang file ABC với các cột tương ứng ở file TongHop.xls , mình có viết cụ thể trong file đính kèm.
 

File đính kèm

Mình muốn cập nhật dữ liệu từ file TongHop.xls sang file ABC với điều kiện trước khi tổng hợp như sau:
Nếu có bất kỳ ô nào ở [TongHop.xls]THA!$DX$10:$DX$60000<>"" thì tổng hợp dữ liệu từ file TongHop.xls sang file ABC với các cột tương ứng ở file TongHop.xls , mình có viết cụ thể trong file đính kèm.

File của bạn chỉ dùng Link thôi mà.

Theo tôi tất cả nên theo dõi chung 1 sheet (để thuận tiện cho việc tổng hợp), muốn làm cái gì đó thì Lọc nó ra sheet khác.

File bạn theo dõi nhiều cột quá, nên đưa File với tiêu đề đầy đủ đề người giúp thiết kế lại cho phù hợp hơn.
 
Mình muốn cập nhật dữ liệu từ file TongHop.xls sang file ABC với điều kiện trước khi tổng hợp như sau:
Nếu có bất kỳ ô nào ở [TongHop.xls]THA!$DX$10:$DX$60000<>"" thì tổng hợp dữ liệu từ file TongHop.xls sang file ABC với các cột tương ứng ở file TongHop.xls , mình có viết cụ thể trong file đính kèm.

1/ Như ý của anh Be09, Tôi cũng khoái việc nhập 2 sheet trong 1 file. Nếu bạn vẫn muốn lấy dữ liệu từ file khác không mở file thì chờ những bạn biết ADO giúp.
2/ Cột DX sheet THA của bạn trống rỗng thì lấy dữ liệu sao đây?
3/ Thay vì ghi cột DX,AT... thì dùng số cột để quét, (tôi làm cách này ở dòng 9 - nền đen)
4/ 2 ô ghi chú dòng 18, 19, Left(CK,1)="1" hay ="2" cũng đều là "8.A B C" ???
5/ Sau này bạn có đưa dữ liệu mẫu cũng phải có đầy đủ các trường hợp "Nếu..." của bạn để người viết code còn kiểm tra lại xem kết quả nó thế nào.
6/ "Ngứa tay" nên làm 1 file, nếu bạn không sử dụng được thì cũng không sao.
 

File đính kèm

file TongHop của mình nó chứa nhiều dữ liệu khác nhau, file ABC chỉ là 1 mẫu báo cáo trong nhiều loại mẫu báo cáo , file này mình còn phải gửi đi nên phải thiết kế ra riêng 1 file chứ không thể chung được.
File của bạn chỉ dùng Link thôi mà.

Theo tôi tất cả nên theo dõi chung 1 sheet (để thuận tiện cho việc tổng hợp), muốn làm cái gì đó thì Lọc nó ra sheet khác.

File bạn theo dõi nhiều cột quá, nên đưa File với tiêu đề đầy đủ đề người giúp thiết kế lại cho phù hợp hơn.
 
cám ơn bạn nhưng mình cần phải tách ra 1 file khác vì mình phải gửi đi file này !$@!!!$@!!
1/ Như ý của anh Be09, Tôi cũng khoái việc nhập 2 sheet trong 1 file. Nếu bạn vẫn muốn lấy dữ liệu từ file khác không mở file thì chờ những bạn biết ADO giúp.
2/ Cột DX sheet THA của bạn trống rỗng thì lấy dữ liệu sao đây?
3/ Thay vì ghi cột DX,AT... thì dùng số cột để quét, (tôi làm cách này ở dòng 9 - nền đen)
4/ 2 ô ghi chú dòng 18, 19, Left(CK,1)="1" hay ="2" cũng đều là "8.A B C" ???
5/ Sau này bạn có đưa dữ liệu mẫu cũng phải có đầy đủ các trường hợp "Nếu..." của bạn để người viết code còn kiểm tra lại xem kết quả nó thế nào.
6/ "Ngứa tay" nên làm 1 file, nếu bạn không sử dụng được thì cũng không sao.
 
file TongHop của mình nó chứa nhiều dữ liệu khác nhau, file ABC chỉ là 1 mẫu báo cáo trong nhiều loại mẫu báo cáo , file này mình còn phải gửi đi nên phải thiết kế ra riêng 1 file chứ không thể chung được.

Thì từ file TongHop dùng 1 sheet lọc dữ liệu theo nhu cầu, đồng thời xuất sheet lọc này thành 1 File mới rồi gửi File này cho ai đó chứ có gì đâu mà phải lăng tăng.
 
Lần chỉnh sửa cuối:
1/ Như ý của anh Be09, Tôi cũng khoái việc nhập 2 sheet trong 1 file. Nếu bạn vẫn muốn lấy dữ liệu từ file khác không mở file thì chờ những bạn biết ADO giúp.
2/ Cột DX sheet THA của bạn trống rỗng thì lấy dữ liệu sao đây?
3/ Thay vì ghi cột DX,AT... thì dùng số cột để quét, (tôi làm cách này ở dòng 9 - nền đen)
4/ 2 ô ghi chú dòng 18, 19, Left(CK,1)="1" hay ="2" cũng đều là "8.A B C" ???
5/ Sau này bạn có đưa dữ liệu mẫu cũng phải có đầy đủ các trường hợp "Nếu..." của bạn để người viết code còn kiểm tra lại xem kết quả nó thế nào.
6/ "Ngứa tay" nên làm 1 file, nếu bạn không sử dụng được thì cũng không sao.
Bác Bate ơi, dùng ADO thì không hẳn là lấy dữ liệu từ file đang đóng, mà thằng này nó mở file ngầm bác ạ.
 
vì file TongHop của mình đã có đến hơn 20 sheet rồi __--____--__
Thì từ file TongHop dùng 1 sheet lọc dữ liệu theo nhu cầu, đồng thời xuất sheet lọc này thành 1 File mới rồi gửi File này cho ai đó chứ có gì đâu mà phải lăng tăng.
 
anh có thể giúp em tương tự như file bữa trước a đã làm đấy, cám ơn a nhiều@$@!^%@$@!^%
http://www.giaiphapexcel.com/forum/showthread.php?118244-Dùng-VBA-để-tổng-hợp-dữ-liệu/page3

Cái này mình không khoái dùng ADO lắm, vì yêu cầu lấy dữ liệu từ file đóng nên mình code cho theo yc đó vậy. Code này học từ bác @kieumanh
bạn test code
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 11)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            For j = 10 To 13
                Arr(k, j - 9) = Res(i, j)
            Next
            Arr(k, 5) = Res(i, 128)
            Arr(k, 6) = Res(i, 2)
            Arr(k, 7) = Res(i, 31)
            Arr(k, 8) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 9) = Res(i, 91)
            Arr(k, 11) = Res(i, 129)
            For j = 98 To 103
                If Res(i, j) = 1 Then Arr(k, 10) = j - 97 & ". A B C"
            Next
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. A B C"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. A B C"
        End If
    Next
    If k Then Range("B9").Resize(k, 11).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 
vì file TongHop của mình đã có đến hơn 20 sheet rồi __--____--__

Thông thường tôi chỉ lưu theo dõi 1 sheet duy nhất, tôi xem sheet này như cái kho muốn lấy cái gì thì vào kho lấy ra.

Vì vậy nên tôi mới góp ý như bài trên, còn theo dõi nhiều hay ít là do cấu trúc và kiểu theo dõi của mỗi người, miễn làm sao thuận tiện, nhanh chóng, hiệu quả là được.
 
1. Anh có thể giúp em đánh số thứ tự vào luôn trong code được chứ.
2. Ở cột K đoạn text A B C nó không cố định nha anh, để cho dễ hiểu em viết lại như sau, tất cả các điều kiện này là đối với 1 ô nha anh, nghĩa là ở file TongHop từ CT:DB và cột CK mỗi dòng tại các cột này chỉ hiển thị kết quả ở 1 cột bất kỳ, đối với CT:DB thì dữ liệu hiển thị ở file TongHop là 1, đối với cột CK thì dữ liệu hiển thị ở file TongHop có 2 trường hợp là left(CK;1)=1 và left(ck;1)="2".
Nếu dữ liệu hiển thị ở cột nào ở file TongHop thì hiển thị kết quả tương ứng như phía dưới.
Nếu [TongHop.xls]THA!$CT$10:$CT$60000=1 thì K11="1. A"
Nếu [TongHop.xls]THA!$CU$10:$CU$60000=1 thì K11="2. B"
Nếu [TongHop.xls]THA!$CV$10:$CV$60000=1 thì K11="3. C"
Nếu [TongHop.xls]THA!$CW$10:$CW$60000=1 thì K11="4. D"
Nếu [TongHop.xls]THA!$CX$10:$CX$60000=1 thì K11="5. E"
Nếu [TongHop.xls]THA!$CY$10:$CY$60000=1 thì K11="6. G"
Nếu [TongHop.xls]THA!$DA$10:$DA$60000=1 thì K11="7. T"
Nếu LEFT([TongHop.xls]THA!$CK$10:$CK$60000;1)="1" thì K11="8. L"
Nếu LEFT([TongHop.xls]THA!$CK$10:$CK$60000;1)="2" thì K11="8. M"
Nếu [TongHop.xls]THA!$DB$10:$DB$60000=1 thì K11="10. R



Cái này mình không khoái dùng ADO lắm, vì yêu cầu lấy dữ liệu từ file đóng nên mình code cho theo yc đó vậy. Code này học từ bác @kieumanh
bạn test code
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 11)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            For j = 10 To 13
                Arr(k, j - 9) = Res(i, j)
            Next
            Arr(k, 5) = Res(i, 128)
            Arr(k, 6) = Res(i, 2)
            Arr(k, 7) = Res(i, 31)
            Arr(k, 8) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 9) = Res(i, 91)
            Arr(k, 11) = Res(i, 129)
            For j = 98 To 103
                If Res(i, j) = 1 Then Arr(k, 10) = j - 97 & ". A B C"
            Next
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. A B C"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. A B C"
        End If
    Next
    If k Then Range("B9").Resize(k, 11).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 
1. Anh có thể giúp em đánh số thứ tự vào luôn trong code được chứ.
2. Ở cột K đoạn text A B C nó không cố định nha anh, để cho dễ hiểu em viết lại như sau, tất cả các điều kiện này là đối với 1 ô nha anh, nghĩa là ở file TongHop từ CT:DB và cột CK mỗi dòng tại các cột này chỉ hiển thị kết quả ở 1 cột bất kỳ, đối với CT:DB thì dữ liệu hiển thị ở file TongHop là 1, đối với cột CK thì dữ liệu hiển thị ở file TongHop có 2 trường hợp là left(CK;1)=1 và left(ck;1)="2".
Nếu dữ liệu hiển thị ở cột nào ở file TongHop thì hiển thị kết quả tương ứng như phía dưới.
Sửa lại thế này vậy
còn sai chỗ nào chắc bạn tự sửa dc
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 12)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            Arr(k, 1) = k
            For j = 10 To 13
                Arr(k, j - 8) = Res(i, j)
            Next
            Arr(k, 6) = Res(i, 128)
            Arr(k, 7) = Res(i, 2)
            Arr(k, 8) = Res(i, 31)
            Arr(k, 9) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 10) = Res(i, 91)
            Arr(k, 12) = Res(i, 129)
            If Res(i, 98) = 1 Then Arr(k, 10) = "1. A"
            If Res(i, 99) = 1 Then Arr(k, 10) = "2. B"
            If Res(i, 100) = 1 Then Arr(k, 10) = "3. C"
            If Res(i, 101) = 1 Then Arr(k, 10) = "4. D"
            If Res(i, 102) = 1 Then Arr(k, 10) = "5. E"
            If Res(i, 103) = 1 Then Arr(k, 10) = "6. G"
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. T"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. L"
            If Res(i, 89) = 2 Then Arr(k, 10) = "8. M"
            If Res(i, 106) = 1 Then Arr(k, 10) = "10. R"
        End If
    Next
    If k Then Range("A9").Resize(k, 12).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 
ok, cám ơn a nhiều @$@!^%@$@!^%@$@!^%@$@!^%
Sửa lại thế này vậy
còn sai chỗ nào chắc bạn tự sửa dc
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 12)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            Arr(k, 1) = k
            For j = 10 To 13
                Arr(k, j - 8) = Res(i, j)
            Next
            Arr(k, 6) = Res(i, 128)
            Arr(k, 7) = Res(i, 2)
            Arr(k, 8) = Res(i, 31)
            Arr(k, 9) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 10) = Res(i, 91)
            Arr(k, 12) = Res(i, 129)
            If Res(i, 98) = 1 Then Arr(k, 10) = "1. A"
            If Res(i, 99) = 1 Then Arr(k, 10) = "2. B"
            If Res(i, 100) = 1 Then Arr(k, 10) = "3. C"
            If Res(i, 101) = 1 Then Arr(k, 10) = "4. D"
            If Res(i, 102) = 1 Then Arr(k, 10) = "5. E"
            If Res(i, 103) = 1 Then Arr(k, 10) = "6. G"
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. T"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. L"
            If Res(i, 89) = 2 Then Arr(k, 10) = "8. M"
            If Res(i, 106) = 1 Then Arr(k, 10) = "10. R"
        End If
    Next
    If k Then Range("A9").Resize(k, 12).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 
Kết quả hiển thị dư 1 hàng cuối cùng dù điều kiện của nó không đúng với điều kiện Res(i, 128) <> Empty
Anh xem lại giúp em với.
Sửa lại thế này vậy
còn sai chỗ nào chắc bạn tự sửa dc
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 12)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            Arr(k, 1) = k
            For j = 10 To 13
                Arr(k, j - 8) = Res(i, j)
            Next
            Arr(k, 6) = Res(i, 128)
            Arr(k, 7) = Res(i, 2)
            Arr(k, 8) = Res(i, 31)
            Arr(k, 9) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 10) = Res(i, 91)
            Arr(k, 12) = Res(i, 129)
            If Res(i, 98) = 1 Then Arr(k, 10) = "1. A"
            If Res(i, 99) = 1 Then Arr(k, 10) = "2. B"
            If Res(i, 100) = 1 Then Arr(k, 10) = "3. C"
            If Res(i, 101) = 1 Then Arr(k, 10) = "4. D"
            If Res(i, 102) = 1 Then Arr(k, 10) = "5. E"
            If Res(i, 103) = 1 Then Arr(k, 10) = "6. G"
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. T"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. L"
            If Res(i, 89) = 2 Then Arr(k, 10) = "8. M"
            If Res(i, 106) = 1 Then Arr(k, 10) = "10. R"
        End If
    Next
    If k Then Range("A9").Resize(k, 12).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
sao mình copy code vào file gốc vẫn giống như vậy nhưng sao không chạy code được nhỉ, có phải do file gốc nhiều sheet nên nó không cập nhật qua được không vậy
Sửa lại thế này vậy
còn sai chỗ nào chắc bạn tự sửa dc
Mã:
Public Sub GetDataFiles()
Application.ScreenUpdating = False
    On Error Resume Next
    Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
    Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
    Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
    FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
    
    With Range("B9").Range("A10:DY" & Rows(1).End(2))
        .FormulaArray = FilePath
        Res = .Value
        .ClearContents
    End With
    ReDim Preserve Arr(1 To UBound(Res), 1 To 12)
    For i = 1 To UBound(Res)
        If Res(i, 128) <> Empty Then
            k = k + 1
            Arr(k, 1) = k
            For j = 10 To 13
                Arr(k, j - 8) = Res(i, j)
            Next
            Arr(k, 6) = Res(i, 128)
            Arr(k, 7) = Res(i, 2)
            Arr(k, 8) = Res(i, 31)
            Arr(k, 9) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
            Arr(k, 10) = Res(i, 91)
            Arr(k, 12) = Res(i, 129)
            If Res(i, 98) = 1 Then Arr(k, 10) = "1. A"
            If Res(i, 99) = 1 Then Arr(k, 10) = "2. B"
            If Res(i, 100) = 1 Then Arr(k, 10) = "3. C"
            If Res(i, 101) = 1 Then Arr(k, 10) = "4. D"
            If Res(i, 102) = 1 Then Arr(k, 10) = "5. E"
            If Res(i, 103) = 1 Then Arr(k, 10) = "6. G"
            If Res(i, 105) = 1 Then Arr(k, 10) = "7. T"
            If Res(i, 89) = 1 Then Arr(k, 10) = "8. L"
            If Res(i, 89) = 2 Then Arr(k, 10) = "8. M"
            If Res(i, 106) = 1 Then Arr(k, 10) = "10. R"
        End If
    Next
    If k Then Range("A9").Resize(k, 12).Value = Arr
    Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub
 

File đính kèm

sao mình copy code vào file gốc vẫn giống như vậy nhưng sao không chạy code được nhỉ, có phải do file gốc nhiều sheet nên nó không cập nhật qua được không vậy

Thứ 1: file tổng hợp phải cùng folder với file chạy code, tên sheet lấy dữ liệu là THA, bạn check lại.
 
tất nhiên là chung 1 folder và sheet THA nhưng code vẫn không chạy được anh ơi,
Bạn gửi 2 file đó lên xem thế nào? có thể file tổng hợp cột A bạn ko có dữ liệu, bạn để ý có 1 dòng code là xác định dòng cuối của file tổng hợp qua cột A
 
1. trong file a viết code nó hiển thị kết quả dư 1 dòng cuối cùng không biết vì lý do gì, nó hiển thị toàn là số mà k phải dữ liệu ở file TongHop.
2. Khi không mở file TongHop thì chạy code được nhưng khi mở file TongHop đang mở thì không chạy code được, nó chỉ hiển thị ở cột số thứ tự , kết quả A1= -9 đến A9= -1
Bạn gửi 2 file đó lên xem thế nào? có thể file tổng hợp cột A bạn ko có dữ liệu, bạn để ý có 1 dòng code là xác định dòng cuối của file tổng hợp qua cột A
 

File đính kèm

1. trong file a viết code nó hiển thị kết quả dư 1 dòng cuối cùng không biết vì lý do gì, nó hiển thị toàn là số mà k phải dữ liệu ở file TongHop.
2. Khi không mở file TongHop thì chạy code được nhưng khi mở file TongHop đang mở thì không chạy code được, nó chỉ hiển thị ở cột số thứ tự , kết quả A1= -9 đến A9= -1
Thứ nhất: Cột A file tổng hợp của bạn t chẳng thấy có dữ liệu nên nó ko đọc là đúng, phải chuyển qua cột B...
Thứ hai: file tổng hợp của bạn bị protect, sau khi bỏ protect thì tôi chạy code có thấy vấn đề như bạn nói đâu nhỉ, số liệu chạy đủ, không thừa,khi file tổng hợp mở, code vẫn chạy bình thường.
Bạn thêm 1 dòng code để xóa dữ liệu cũ rùi fill dữ liệu mới vào
 
File gốc của em có số thứ tự ở cột A nhưng khi chạy code vẫn không có kết quả gì hết à.
Nếu file đang khóa pass các sheet thì code có chạy được không vậy anh?
Thứ nhất: Cột A file tổng hợp của bạn t chẳng thấy có dữ liệu nên nó ko đọc là đúng, phải chuyển qua cột B...
Thứ hai: file tổng hợp của bạn bị protect, sau khi bỏ protect thì tôi chạy code có thấy vấn đề như bạn nói đâu nhỉ, số liệu chạy đủ, không thừa,khi file tổng hợp mở, code vẫn chạy bình thường.
Bạn thêm 1 dòng code để xóa dữ liệu cũ rùi fill dữ liệu mới vào
 
ok anh, không biết file gốc bị gì nhưng em tải file mới về lại thì chạy ok rồi anh, cám ơn anh nhiều nhé -=.,,-=.,,
Thứ nhất: Cột A file tổng hợp của bạn t chẳng thấy có dữ liệu nên nó ko đọc là đúng, phải chuyển qua cột B...
Thứ hai: file tổng hợp của bạn bị protect, sau khi bỏ protect thì tôi chạy code có thấy vấn đề như bạn nói đâu nhỉ, số liệu chạy đủ, không thừa,khi file tổng hợp mở, code vẫn chạy bình thường.
Bạn thêm 1 dòng code để xóa dữ liệu cũ rùi fill dữ liệu mới vào
 

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

Back
Top Bottom