LỌC DANH SÁCH VÀ DÒ TÌM DỮ LIỆU

Liên hệ QC

duong22000

Thành viên thường trực
Tham gia
8/5/13
Bài viết
322
Được thích
23
Em có 1 file như sau:
3 sheet( L1, L2, L3): Chứa danh sách và điểm của các môn
1sheet(TH): Tổng hợp danh sách duy nhất và lấy giá trị ở 3sheet trên để điền vào cột điểm môn tương ứng (cột C, D, E)
Em gửi file, mong mọi người trên GPE giúp em!
 

File đính kèm

  • TH.xlsx
    17.9 KB · Đọc: 21
Macro của bạn tạm là vầy:
PHP:
Sub TongHopDiem()
 Dim ShName As String
 Dim Sh As Integer, Rws As Integer, W As Integer, J As Long, Dong As Integer
 Dim Rng As Range, sRng As Range, Arr()
 Const NM As Integer = 7
 
 Sheets("TH").Select
 For Sh = 1 To 3
    If Sh = 1 Then
        Rws = [B6].CurrentRegion.Rows.Count
        [A6].Resize(Rws, 3).Value = Sheets("L1").[A6].Resize(Rws, 3).Value
    Else
        Set Rng = [B6].Resize(Rws + Sh * NM)    'Trang "TH"     '
        With Sheets("L" & CStr(Sh))
            Dong = .[B6].CurrentRegion.Rows.Count
            Arr() = .[B6].Resize(Dong, 2).Value
            For J = 1 To UBound(Arr())
                Set sRng = Rng.Find(Arr(J, 1), , xlFormulas, xlWhole)
                If sRng Is Nothing Then
                    Dong = [A65500].End(xlUp).Row + 1
                    Cells(Dong, "A").Value = Cells(Dong - 1, "A").Value + 1
                    Cells(Dong, "B").Value = Arr(J, 1)
                    Cells(Dong, 2 + Sh).Value = Arr(J, 2)
                Else
                    sRng.Offset(, Sh).Value = Arr(J, 2)
                End If
            Next J
        End With
    End If
 Next Sh
End Sub
 
Macro của bạn tạm là vầy:
PHP:
Sub TongHopDiem()
Dim ShName As String
Dim Sh As Integer, Rws As Integer, W As Integer, J As Long, Dong As Integer
Dim Rng As Range, sRng As Range, Arr()
Const NM As Integer = 7

Sheets("TH").Select
For Sh = 1 To 3
    If Sh = 1 Then
        Rws = [B6].CurrentRegion.Rows.Count
        [A6].Resize(Rws, 3).Value = Sheets("L1").[A6].Resize(Rws, 3).Value
    Else
        Set Rng = [B6].Resize(Rws + Sh * NM)    'Trang "TH"     '
        With Sheets("L" & CStr(Sh))
            Dong = .[B6].CurrentRegion.Rows.Count
            Arr() = .[B6].Resize(Dong, 2).Value
            For J = 1 To UBound(Arr())
                Set sRng = Rng.Find(Arr(J, 1), , xlFormulas, xlWhole)
                If sRng Is Nothing Then
                    Dong = [A65500].End(xlUp).Row + 1
                    Cells(Dong, "A").Value = Cells(Dong - 1, "A").Value + 1
                    Cells(Dong, "B").Value = Arr(J, 1)
                    Cells(Dong, 2 + Sh).Value = Arr(J, 2)
                Else
                    sRng.Offset(, Sh).Value = Arr(J, 2)
                End If
            Next J
        End With
    End If
Next Sh
End Sub
Em xin cảm ơn bác ! Để em thử code, có gì bác giúp em tiếp nhé ....
Bài đã được tự động gộp:

Em xin cảm ơn bác ! Để em thử code, có gì bác giúp em tiếp nhé ....
Macro của bạn tạm là vầy:
PHP:
Sub TongHopDiem()
Dim ShName As String
Dim Sh As Integer, Rws As Integer, W As Integer, J As Long, Dong As Integer
Dim Rng As Range, sRng As Range, Arr()
Const NM As Integer = 7

Sheets("TH").Select
For Sh = 1 To 3
    If Sh = 1 Then
        Rws = [B6].CurrentRegion.Rows.Count
        [A6].Resize(Rws, 3).Value = Sheets("L1").[A6].Resize(Rws, 3).Value
    Else
        Set Rng = [B6].Resize(Rws + Sh * NM)    'Trang "TH"     '
        With Sheets("L" & CStr(Sh))
            Dong = .[B6].CurrentRegion.Rows.Count
            Arr() = .[B6].Resize(Dong, 2).Value
            For J = 1 To UBound(Arr())
                Set sRng = Rng.Find(Arr(J, 1), , xlFormulas, xlWhole)
                If sRng Is Nothing Then
                    Dong = [A65500].End(xlUp).Row + 1
                    Cells(Dong, "A").Value = Cells(Dong - 1, "A").Value + 1
                    Cells(Dong, "B").Value = Arr(J, 1)
                    Cells(Dong, 2 + Sh).Value = Arr(J, 2)
                Else
                    sRng.Offset(, Sh).Value = Arr(J, 2)
                End If
            Next J
        End With
    End If
Next Sh
End Sub
Em xin bác chỉ rõ cho em về đoạn code trên: Nếu em thay đổi số lượng sheet(L1, L2, L3, L4, L5, ...) và số cột điểm các môn tại các sheet này với ạ
Trường hợp khác: Bài toán này có thể sử dụng Hàm dò tìm giá trị, tìm kiếm để lấy dữ liệu không ạ ?
 
Lần chỉnh sửa cuối:
Chào các pro!
Mình có file dữ liệu ở Sheet "SMK" mình muốn xuất biểu tổng hợp ra kết quả theo mẫu ở Sheet "Tonghop"
Cụ thể ở trong Sheet "SMK" có cột Loại đất trong mục "Loại đất hiện trạng" thì từng tờ bản đồ nó tổng hợp các loại đất theo 1 dòng
Cảm ơn các Bác!
 

File đính kèm

  • SO MUC KE.xls
    144 KB · Đọc: 12
(1)Em xin bác chỉ rõ cho em về đoạn code trên: Nếu em thay đổi số lượng sheet(L1, L2, L3, L4, L5, ...) và số cột điểm các môn tại các sheet này với ạ (2)Trường hợp khác: Bài toán này có thể sử dụng Hàm dò tìm giá trị, tìm kiếm để lấy dữ liệu không ạ ?
(1) 3 môn thì vòng lặp từ 1 đến 3; thêm bao nhiêu môn (thêm trang tính kết quả điểm) thì thêm chỉ số vòng lặp tương ứng;
Nhưng các trang thêm vẫn fải giữ nguyên thiết kế như 3 trang đã có
(2) Về vận dụng hàm trong Excel có khi mình còn thua xa bạn ấy chứ!
 
(1) 3 môn thì vòng lặp từ 1 đến 3; thêm bao nhiêu môn (thêm trang tính kết quả điểm) thì thêm chỉ số vòng lặp tương ứng;
Nhưng các trang thêm vẫn fải giữ nguyên thiết kế như 3 trang đã có
(2) Về vận dụng hàm trong Excel có khi mình còn thua xa bạn ấy chứ!
(1) 3 môn thì vòng lặp từ 1 đến 3; thêm bao nhiêu môn (thêm trang tính kết quả điểm) thì thêm chỉ số vòng lặp tương ứng;
Nhưng các trang thêm vẫn fải giữ nguyên thiết kế như 3 trang đã có
(2) Về vận dụng hàm trong Excel có khi mình còn thua xa bạn ấy chứ!
Vâng ạ, em cảm ơn bác SA_DQ !
 
Chào các pro!
Mình có file dữ liệu ở Sheet "SMK" mình muốn xuất biểu tổng hợp ra kết quả theo mẫu ở Sheet "Tonghop"
Cụ thể ở trong Sheet "SMK" có cột Loại đất trong mục "Loại đất hiện trạng" thì từng tờ bản đồ nó tổng hợp các loại đất theo 1 dòng
Cảm ơn các Bác!
Bạn kiểm tra số liệu trong file:
 

File đính kèm

  • Find.rar
    34.2 KB · Đọc: 21
Bạn kiểm tra số liệu trong file:
- Em nhờ bác một chút nữa. Em phải tổng hợp của nhiều File có dạng như "SMK" riêng từng xã. Giờ em muốn có 1 đoạn code để đọc mẫu "SMK" của file khác, rồi để mình cố định các modul trong file Excel này để đọc và tổng hợp dữ liệu và nó xuất ra 1 File Excel Form "Tonghop" lưu riêng.
-Với nhờ bác viết hộ em nó tổng hợp cột Tổng diện tích và tổng số thửa.
- Nhiiều tờ bản đồ hơn mẫu "Tonghop" thì nó tự Insert các dòng mới và tính tổng ở cuối dòng.
Nhờ bác cho em số điện thoại em cảm ơn bác!
 
Mình không có khả năng viết Code để làm việc với 2 file trở lên;
Bạn đành nhờ trong cộng đồng vậy.
 
Mình không có khả năng viết Code để làm việc với 2 file trở lên;
Bạn đành nhờ trong cộng đồng vậy.
Bác hiểu nhầm ý em rồi. Ý em là Mình tạo một mẫu chuẩn rồi viết macro đọc file excel "SMK" để tiện khi tổng hợp SMK của xã khác.
Nhờ bác cho em số điện thoại và Email hỗ trợ em với. Em trả phí cho bác. Cảm ơn bác.
Bài đã được tự động gộp:

Em cũng viết được mấy cái đọc từ *.txt thôi bác. Như mẫu này.
 

File đính kèm

  • Mẫu.jpg
    Mẫu.jpg
    203.8 KB · Đọc: 6
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom