Chỉnh sửa giúp VBA lọc dữ liệu trùng

Liên hệ QC

phanluan@gmail

Thành viên mới
Tham gia
21/8/07
Bài viết
5
Được thích
0
Chào mọi người,
Em xin nhờ cao nhân chỉnh sửa giúp file VBA với ah.
Số liệu đầu vào e để ở sheet 2, tới dòng 3137.
Số liệu cần xuất ra e để ở Sheet tổng hợp, nhưng khi xuất thì e thấy nó ko lọc hết dữ liệu ở sheet 2.

Bác nào chỉnh giúp em với ah.
Em cảm ơn cả nhà rất nhiều.
 

File đính kèm

  • VBA loc du lieu bi trung.xlsb
    68.8 KB · Đọc: 13
Chào mọi người,
Em xin nhờ cao nhân chỉnh sửa giúp file VBA với ah.
Số liệu đầu vào e để ở sheet 2, tới dòng 3137.
Số liệu cần xuất ra e để ở Sheet tổng hợp, nhưng khi xuất thì e thấy nó ko lọc hết dữ liệu ở sheet 2.

Bác nào chỉnh giúp em với ah.
Em cảm ơn cả nhà rất nhiều.
Bạn muốn liệt kê tất cả các loại thép trong sheet1-sheet3?
 
Upvote 0
Chào mọi người,
Em xin nhờ cao nhân chỉnh sửa giúp file VBA với ah.
Số liệu đầu vào e để ở sheet 2, tới dòng 3137.
Số liệu cần xuất ra e để ở Sheet tổng hợp, nhưng khi xuất thì e thấy nó ko lọc hết dữ liệu ở sheet 2.

Bác nào chỉnh giúp em với ah.
Em cảm ơn cả nhà rất nhiều.
Bạn Copy dữ liệu qua Sheet("Tonghop') rồi dùng RemoveDuplicates 1 phát là xong. Khỏi phải Câu két chi cho mệt
 
Upvote 0
Bạn Copy dữ liệu qua Sheet("Tonghop') rồi dùng RemoveDuplicates 1 phát là xong. Khỏi phải Câu két chi cho mệt
e ko biết viết code VBA bác ơi, nếu được bác sửa giúp trong file VBA của e với. Em cảm ơn bác nhiều.
Bài đã được tự động gộp:

Bạn muốn liệt kê tất cả các loại thép trong sheet1-sheet3?
đúng rồi bác.
 
Upvote 0
Chào mọi người,
Em xin nhờ cao nhân chỉnh sửa giúp file VBA với ah.
Số liệu đầu vào e để ở sheet 2, tới dòng 3137.
Số liệu cần xuất ra e để ở Sheet tổng hợp, nhưng khi xuất thì e thấy nó ko lọc hết dữ liệu ở sheet 2.

Bác nào chỉnh giúp em với ah.
Em cảm ơn cả nhà rất nhiều.
Ơ bài của bạn sao lấy code người ta giúp cho @xuongrongdat
 
Upvote 0
Upvote 0
Da vâng. File Vba này e tải trên diên đàn này luôn ah.
Mình sửa tạm như vầy. Bạn xem thử
PHP:
Public Sub sGpe()
    Dim Dic As Object, Ws As Worksheet
    Dim sArr(), dArr(1 To 65535, 1 To 1)
    Dim I As Long, K As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each Ws In ThisWorkbook.Worksheets
    If Ws.Name <> "Tong hop" Then
        sArr = Ws.Range("B2", Ws.Range("B" & Rows.Count).End(xlUp)).Value
        For I = 1 To UBound(sArr)
            If sArr(I, 1) <> Empty Then
                If Not Dic.Exists(sArr(I, 1)) Then
                    K = K + 1
                    Dic.Add sArr(I, 1), ""
                    dArr(K, 1) = sArr(I, 1)
                End If
            End If
        Next I
    End If
Next Ws
With Sheets("Tong hop")
    .Range("B2", Range("B" & Rows.Count).End(xlUp)).ClearContents
    .Range("B2").Resize(K) = dArr
    .Range("B2", Range("B" & Rows.Count).End(xlUp)).Sort Key1:=.Range("B2")
End With
Set Dic = Nothing
End Sub
 
Upvote 0
Mình dùng dc ban ah. Mà chỉ lọc dc 1 phần dư liệu ơ sheet 2 thôi ah. Minh đang muốn lọc toàn bộ (khoảng 3000 dòng) ơ sheet 2 đo ban.
Cảm ơn.
Mỗi sheet2 thôi nhá :D, không hỏi thêm nhá :
PHP:
Sub LocLoaiTrung()
Dim Arr(), Dic As Object, I As Long
Set Dic = CreateObject("Scripting.Dictionary")
Arr = Sheets("Sheet2").Range("B4:B" & Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row).Value
For I = 1 To UBound(Arr, 1)
    If Arr(I, 1) <> "" Then Dic.Item(Arr(I, 1)) = ""
Next
Sheets("Tong hop").Range("E2:E" & Rows.Count).ClearContents
Sheets("Tong hop").Range("E2").Resize(Dic.Count) = Application.Transpose(Dic.keys)
Set Dic = Nothing
End Sub
 
Upvote 0
Mình sửa tạm như vầy. Bạn xem thử
PHP:
Public Sub sGpe()
    Dim Dic As Object, Ws As Worksheet
    Dim sArr(), dArr(1 To 65535, 1 To 1)
    Dim I As Long, K As Long
Set Dic = CreateObject("Scripting.Dictionary")
For Each Ws In ThisWorkbook.Worksheets
    If Ws.Name <> "Tong hop" Then
        sArr = Ws.Range("B2", Ws.Range("B" & Rows.Count).End(xlUp)).Value
        For I = 1 To UBound(sArr)
            If sArr(I, 1) <> Empty Then
                If Not Dic.Exists(sArr(I, 1)) Then
                    K = K + 1
                    Dic.Add sArr(I, 1), ""
                    dArr(K, 1) = sArr(I, 1)
                End If
            End If
        Next I
    End If
Next Ws
With Sheets("Tong hop")
    .Range("B2", Range("B" & Rows.Count).End(xlUp)).ClearContents
    .Range("B2").Resize(K) = dArr
    .Range("B2", Range("B" & Rows.Count).End(xlUp)).Sort Key1:=.Range("B2")
End With
Set Dic = Nothing
End Sub
Mỗi sheet2 thôi nhá :D, không hỏi thêm nhá :
PHP:
Sub LocLoaiTrung()
Dim Arr(), Dic As Object, I As Long
Set Dic = CreateObject("Scripting.Dictionary")
Arr = Sheets("Sheet2").Range("B4:B" & Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row).Value
For I = 1 To UBound(Arr, 1)
    If Arr(I, 1) <> "" Then Dic.Item(Arr(I, 1)) = ""
Next
Sheets("Tong hop").Range("E2:E" & Rows.Count).ClearContents
Sheets("Tong hop").Range("E2").Resize(Dic.Count) = Application.Transpose(Dic.keys)
Set Dic = Nothing
End Sub
Cảm ơn 2 bác cao nhân, để e check thử rồi báo lại nha. Cảm ơn cả nhà nhiều ah.
Bài đã được tự động gộp:

chắc vậy, hoặc là nhiều khi bạn bè của nhau.
Em search trên GPE thấy file phù hợp rồi dùng thôi bác.
 
Upvote 0
Cảm ơn 2 bác cao nhân, để e check thử rồi báo lại nha. Cảm ơn cả nhà nhiều ah.
Bài đã được tự động gộp:


Em search trên GPE thấy file phù hợp rồi dùng thôi bác.
Í mình không phải là "cao nhân" nhoé. Đã bẩu mỗi Sheets2 thì dùng RemoveDuplicates một nhát ăn ngay rồi mừ
 
Upvote 0
Web KT

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

Back
Top Bottom