giúp đở cập nhật du liệu từ file excel book1 sang file book2 thêm lọc du liệu trùng (1 người xem)

Liên hệ QC

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

gamegamegamegame

Thành viên hoạt động
Tham gia
5/6/15
Bài viết
144
Được thích
5
Em có 2 file book1 và file book2 phần câp nhật thi em lam được rồi nhưng chen thêm phần lọc du liệu trùng nhau thì em ko biêt làm thế nào xin các thầy chỉ giúp
Em có du liệu ơ file book1 từ ô A1 đến A6 như thê này
[TABLE="width: 175"]
[TR]
[TD]nguyenvan a
[/TD]
[/TR]
[TR]
[TD]nguyen van b
[/TD]
[/TR]
[TR]
[TD]nguyen van a
[/TD]
[/TR]
[TR]
[TD]nguyenvan b
[/TD]
[/TR]
[TR]
[TD]nguyen van a
[/TD]
[/TR]
[TR]
[TD]nguyen van b
[/TD]
[/TR]
[/TABLE]
Và em đã cập nhật thành công qua book2
Từ ô A1 đến ô A6 qua book2 như thế này
[TABLE="width: 175"]
[TR]
[TD]nguyenvan a
[/TD]
[/TR]
[TR]
[TD]nguyen van b
[/TD]
[/TR]
[TR]
[TD]nguyen van a
[/TD]
[/TR]
[TR]
[TD]nguyenvan b
[/TD]
[/TR]
[TR]
[TD]nguyen van a
[/TD]
[/TR]
[TR]
[TD]nguyen van b
[/TD]
[/TR]
[/TABLE]
Vấn đề phát sinh la co nhiều du liệu trùng nhau
Em muốn là cập nhật từ book1 sang book2 nó sẻ ra như thế này
[TABLE="width: 175, align: left"]
[TR]
[TD]nguyenvan a
[/TD]
[/TR]
[TR]
[TD]nguyen van b
[/TD]
[/TR]
[TR]
[TD][/TD]
[/TR]
[TR]
[TD]Nhờ các thầy giúp đở
[/TD]
[/TR]
[TR]
[TD][/TD]
[/TR]
[TR]
[TD][/TD]
[/TR]
[/TABLE]
 

File đính kèm

Thì bạn sử dụng Dic lọc duy nhất xong mở File book2 lên Gán kết quả xuống đó
 
Upvote 0
Mới Làm ly càfê thấy khó ngủ làm cho bạn coi thế nào rồi tính tiếp nha
PHP:
Sub LocDuyNhat()
Application.ScreenUpdating = False
    Dim Arr()
    Range("A1").CurrentRegion.RemoveDuplicates Array(1)
    Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
    With Workbooks.Open(ThisWorkbook.Path & "\Book1.xlsm", 0)
       With .Sheets("data")
          Range("A1").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
       End With
       .Close True
    End With
Application.ScreenUpdating = True
End Sub
Mình định tính Set cho Bạn một cái Dic nhưng thôi làm vậy đi nha rồi tính tiếp
Thân
 
Lần chỉnh sửa cuối:
Upvote 0
Mới Làm ly càfê thấy khó ngủ làm cho bạn coi thế nào rồi tính tiếp nha
PHP:
Sub LocDuyNhat()
Application.ScreenUpdating = False
    Dim Arr()
    Range("A1").CurrentRegion.RemoveDuplicates Array(1)
    Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
    With Workbooks.Open(ThisWorkbook.Path & "\Book1.xlsm", 0)
       With .Sheets("data")
          Range("A1").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
       End With
       .Close True
    End With
Application.ScreenUpdating = True
End Sub
Mình định tính Set cho Bạn một cái Dic nhưng thôi làm vậy đi nha rồi tính tiếp
Thân

đêm khuya gà vịt hết với nhau rồi chăng ? người ta muốn đem dữ liệu từ book1 sang book2 . bác học kieu manh lại chở củi từ book2 về lại book1 . chỉ có tui là còn tỉnh táo nhận ra . há há --=0--=0--=0
 
Upvote 0
Mới Làm ly càfê thấy khó ngủ làm cho bạn coi thế nào rồi tính tiếp nha
PHP:
Sub LocDuyNhat()
Application.ScreenUpdating = False
    Dim Arr()
    Range("A1").CurrentRegion.RemoveDuplicates Array(1)
    Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
    With Workbooks.Open(ThisWorkbook.Path & "\Book1.xlsm", 0)
       With .Sheets("data")
          Range("A1").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
       End With
       .Close True
    End With
Application.ScreenUpdating = True
End Sub
Mình định tính Set cho Bạn một cái Dic nhưng thôi làm vậy đi nha rồi tính tiếp
Thân
vẫn chưa đc bạn ơi -\\/.
 
Upvote 0
Chưa được chỗ nào ................code đó bạn thay Book1.xlsm thanh Book2.xlsm xem sao sao....
2 Book bạn chừa dòng [A1] ghi Tiêu đề ra xong Chep Code sau vao Book1.xlsm xem sao tinh tiếp
PHP:
Sub LocDuyNhat()
Application.ScreenUpdating = False
    Dim Arr()
    Range("A2").CurrentRegion.RemoveDuplicates Array(1)
    Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
    With Workbooks.Open(ThisWorkbook.Path & "\Book2.xlsm", 0)
       With .Sheets("Sheet1")
          Range("A2").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
       End With
       .Close True
    End With
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em có 2 file book1 và file book2 phần câp nhật thi em lam được rồi nhưng chen thêm phần lọc du liệu trùng nhau thì em ko biêt làm thế nào xin các thầy chỉ giúp
Tại Book2 chạy code sau thử nhé.

Mã:
Sub LocDuyNhat()   
    Dim Conn As Object, rst As Object
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & ThisWorkbook.Path & "\book1.xlsm;"
    Set rst = Conn.Execute("SELECT distinct * From [Data$]")
    Sheet1.Range("A2:A100").ClearContents
    Sheet1.Range("A2").CopyFromRecordset rst
    
End Sub
 
Upvote 0
Coi bài 9 là mình biết họ muốn gì rồi cứ chạy quanh cái cối xay gió hoài....--=0--=0--=0 chờ phảm hồi của thớt tính tiếp
 
Upvote 0
Tại Book2 chạy code sau thử nhé.

Mã:
Sub LocDuyNhat()   
    Dim Conn As Object, rst As Object
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & ThisWorkbook.Path & "\book1.xlsm;"
    Set rst = Conn.Execute("SELECT distinct * From [Data$]")
    Sheet1.Range("A2:A100").ClearContents
    Sheet1.Range("A2").CopyFromRecordset rst
    
End Sub

anh cho em hỏi : làm sao truy vấn khi chưa biết trước tên sheet . chỉ biết là file đó có duy nhất 1 sheet ?
 
Upvote 0
Code này Giống code Bài 9 nha chạy xem sao....chạy quanh quẩn có mấy dòng đó đảo lên đảo xuống thôi mà..........--=0--=0--=0
PHP:
Sub LocDuyNhat22()
Application.ScreenUpdating = False
    Dim Arr()
    With Workbooks.Open(ThisWorkbook.Path & "\Book1.xlsm", 0)
       With .Sheets("Data")
            Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
       End With
       .Close False
    End With
   Range("A2").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
   Range("A2").CurrentRegion.RemoveDuplicates Array(1)
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Upvote 0
Upvote 0
Vụ này bạn biết mà.... còn mình thì Tịt --=0--=0--=0....mong bạn chỉ thêm
Nếu bạn muốn biết cách lấy thì tôi viết như sau (Thay tên sheet thành địa chỉ vùng là được):

Mã:
Sub LocDuyNhat()    Dim Conn As Object, rst As Object, oRS As Object
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & ThisWorkbook.Path & "\book1.xlsm;"
    Set rst = Conn.Execute("SELECT distinct * From [COLOR=#ff0000][B][A1:A100][/B][/COLOR]")
    Sheet1.Range("A2:A100").ClearContents
    Sheet1.Range("A2").CopyFromRecordset rst
    
End Sub
Nếu sau này gặp phải vấn đề gì thì tôi không chịu trách nhiệm nhé.
 
Upvote 0
Tại Book2 chạy code sau thử nhé.

Mã:
Sub LocDuyNhat()   
    Dim Conn As Object, rst As Object
    Set Conn = CreateObject("ADODB.Connection")
    Conn.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & ThisWorkbook.Path & "\book1.xlsm;"
    Set rst = Conn.Execute("SELECT distinct * From [Data$]")
    Sheet1.Range("A2:A100").ClearContents
    Sheet1.Range("A2").CopyFromRecordset rst
    
End Sub

đúng rồi ý mình là như vậy cảm ơn mọi người đã quảng tâm bài viết
 
Upvote 0
Code này Giống code Bài 9 nha chạy xem sao....chạy quanh quẩn có mấy dòng đó đảo lên đảo xuống thôi mà..........--=0--=0--=0
PHP:
Sub LocDuyNhat22()
Application.ScreenUpdating = False
    Dim Arr()
    With Workbooks.Open(ThisWorkbook.Path & "\Book1.xlsm", 0)
       With .Sheets("Data")
            Arr = Range("A1").CurrentRegion.Offset(1) ''<-- Luu y Kieu Du Lieu
       End With
       .Close False
    End With
   Range("A2").Resize(UBound(Arr, 1), UBound(Arr, 2)) = Arr
   Range("A2").CurrentRegion.RemoveDuplicates Array(1)
Application.ScreenUpdating = True
End Sub

Range("A2").CurrentRegion.RemoveDuplicates Array(1)

thì ra đôi dòng này xuống dưới cung cho ra kết quả đúng
 
Upvote 0
nhiều cách hay còn phải học hỏi nhiều cảm ơn mọi người %#^#$
chúc mọi người một ngày đầu tháng gặp nhiều thuận lợi
 
Upvote 0
Web KT

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

Back
Top Bottom