Trích lọc dự liệu sang sheet khác

Liên hệ QC

tranquangdat

Thành viên mới
Tham gia
21/1/11
Bài viết
19
Được thích
8
Kính gởi các anh, chị

Em là thành viên mới của giải pháp excell, cung là người mới tập tành học excell. Em có một file Excell thế này (có gởi kèm) mong anh, chị giúp đỡ. Nói thật lòng em làm hơn bốn tháng nay chưa được. Mong anh, chị giúp em điều này nhé.
Trong sheet DS.CDEN và sheet DS.CDI em có sử dụng VBA hay là Macro gì đó để chèn dòng tự động. Anh, chị giúp chỉnh sửa lại Macro này giùm em là: Khi nhấp đúp vào một ô cuối của cột B (B8) thì Excell sẽ tự động chèn dòng. Ngoài ra nhấp đúp vào các ô khác thì không chèn giống như file của em. Có cách nào chỉ cần một Sheet có Macro mà áp dụng cho cả hai Sheet (sheet DS.CDEN và sheet DS.CDI ) không anh?.
Trong file em có Sheet TH, em muốn lọc một cách tự động có điều kiện dữ liệu từ Sheet DS.CDEN và sheet DS.CDI vào sheet TH này với điều kiện:
1) Nếu ở ô C1 Sheet TH em chọn DEN; Ô E1 sheet TH em chọn một năm (2010) thì Excell sẽ lọc danh sách những em học sinh từ Sheet DS.CDEN cột “ngày tháng năm chuyển đến” có năm chuyển đến đã chọn ở ô E1 Sheet TH sang sheet TH và dán vào ô A4.
VD: Sheet TH ô C1 = DEN; ô E1 = 2010
Excell sẽ lọc những em trong DS.CDEN và có ngày tháng năm chuyển là 2010 sang Sheet TH bắt đầu tại ô A4.
2) Nếu em chọn ô C1 Sheet TH = ĐI; Ô E1 sheet TH em chọn một năm bất kỳ (2011) thì Excell sẽ lọc những em trong DS.CDI và cò ngày tháng năm chuyển là 2011 sang Sheet TH Bắt đầu từ ô A4.
* Nếu em chọn năm khác thì Excell sẽ xóa những năm đã dán ở Sheet TH để dán những em thỏa điều kiện đã chọn ở ô C1 và E1 Sheet TH vào. Nếu em không chọn thì chỉ có tiêu đề.
* Nếu ở Sheet DS.CDEN và DS.CDI có cập nhật thêm học sinh mới theo năm thì khi chọn ở Sheet TH Excell cũng sẽ tự động cập nhật và hiện thị.
Có công thức nào làm được điều đó không anh, chị. Nếu không có thì phải sử dụng Macro hay VBA thì phải viết như thế nào? Mong anh, chị giúp đỡ cho em. Nếu được nó sẽ giúp đỡ cho em rất nhiều, không chỉ có file đính kèm mà còn áp dụng vào rất nhiều file khác.
Nếu được có thể gởi qua giúp em: Dat76@ymail.com
Chúc anh, chị trong diễn đàn vui, khỏe và thành đạt. Chân thành cảm ơn anh, chị nhiều nhiều.
 

File đính kèm

Xin cảm ơn các anh trên diễn đàn rất nhiều. Đặc biệt là anh Minh Công va anh ConCoGia
 
Lần chỉnh sửa cuối:
Upvote 0
Anh Concogia ơi anh có thể giải thích giùm em các câu lệnh anh viết trong file anh gởi cho em không? Tính em hơi tò mò. Em muốn hiểu thêm một chút về các câu lệnh đó để còn áp dụng cho các file khác. Cảm ơn anh nhiều.
 
Upvote 0
Anh Concogia ơi anh có thể giải thích giùm em các câu lệnh anh viết trong file anh gởi cho em không? Tính em hơi tò mò. Em muốn hiểu thêm một chút về các câu lệnh đó để còn áp dụng cho các file khác. Cảm ơn anh nhiều.
Mình viết cho bạn...cả đống, bạn muốn hỏi cái nào???
Bạn cứ đưa cụ thể lên, mình giải thích ngay thôi mà
 
Upvote 0
Anh Concogia ơi em đã áp dụng cách của anh làm giúp, thật sự nó vượt quá yêu cầu của em, rất tốt anh ạ.
Anh cho em hỏi thêm chút nhé.
Ở Sheet TIM. Khi nhập tên vào ô A3 không kể chữ in hay thường không cần phải giống y chang như cột B (DS.CDEN, DS.CDI) miễn sao đúng họ và tên thì tự động hiện thị lên sheet TIM (Ví du: B1 DS.CDEN có tên: Nguyễn Hữu An. chỉ cần nhập vào ô A3 Sheet TIM là: nguyễn hữu an thì nó cũng hiện thị, không cần phải nhập vào đúng Nguyễn Hữu An.)
Ở Sheet DS.CDEN và DS.CDi
Tại sao khi em đánh chữ vào các ô ở cột B và nhấn phím Tab nó không nhảy sang cột kế tiếp mà bôi đen các ô từ cột A đến cột F (A8:F8).
Những ô có linh liên kết khi em đánh chữ vào ô phia dưới thì chữ nó chuyển màu và gạch chân giống như ô có liên kết phía trên. (Vdụ: Ô E8 DS.CDEN có linh liên kết, ô E9 đánh vào giống ô E8.)
Ở Sheet TH: Khi em để con chuột nằm ở một ô bất kỳ nào đó (Ví dụ: Ô C12) trong sheet TH. Bấm chuột sang sheet khác và quay lại sheet TH thì các Ô (C12:H12) lại tô màu vàng.
Nhờ anh giúp đỡ khắc phục những điều em đã nói trên. Cảm ơn anh nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Anh Concogia ơi em đã áp dụng cách của anh làm giúp, thật sự nó vượt quá yêu cầu của em, rất tốt anh ạ.
Anh cho em hỏi thêm chút nhé.
Ở Sheet TIM. Khi nhập tên vào ô A3 không kể chữ in hay thường không cần phải giống y chang như cột B (DS.CDEN, DS.CDI) miễn sao đúng họ và tên thì tự động hiện thị lên sheet TIM (Ví du: B1 DS.CDEN có tên: Nguyễn Hữu An. chỉ cần nhập vào ô A3 Sheet TIM là: nguyễn hữu an thì nó cũng hiện thị, không cần phải nhập vào đúng Nguyễn Hữu An.)
Ở Sheet DS.CDEN và DS.CDi
Tại sao khi em đánh chữ vào các ô ở cột B và nhấn phím Tab nó không nhảy sang cột kế tiếp mà bôi đen các ô từ cột A đến cột F (A8:F8).
Những ô có linh liên kết khi em đánh chữ vào ô phia dưới thì chữ nó chuyển màu và gạch chân giống như ô có liên kết phía trên. (Vdụ: Ô E8 DS.CDEN có linh liên kết, ô E9 đánh vào giống ô E8.)
Ở Sheet TH: Khi em để con chuột nằm ở một ô bất kỳ nào đó (Ví dụ: Ô C12) trong sheet TH. Bấm chuột sang sheet khác và quay lại sheet TH thì các Ô (C12:H12) lại tô màu vàng.
Nhờ anh giúp đỡ khắc phục những điều em đã nói trên. Cảm ơn anh nhiều.
Khi nhập tên vào ô A3 không kể chữ in hay thường không cần phải giống y chang như cột B (DS.CDEN, DS.CDI) miễn sao đúng họ và tên thì tự động hiện thị lên sheet TIM (Ví du: B1 DS.CDEN có tên: Nguyễn Hữu An. chỉ cần nhập vào ô A3 Sheet TIM là: nguyễn hữu an thì nó cũng hiện thị, không cần phải nhập vào đúng Nguyễn Hữu An.)
Cái này được, nhưng sao bạn vẫn dùng tên để lọc, nếu trùng nó sẽ lấy "thằng" nó gặp đầu tiên đấy nhé
Tại sao khi em đánh chữ vào các ô ở cột B và nhấn phím Tab nó không nhảy sang cột kế tiếp mà bôi đen các ô từ cột A đến cột F (A8:F8).
Cái này sửa "zồi"
Ở Sheet TH: Khi em để con chuột nằm ở một ô bất kỳ nào đó (Ví dụ: Ô C12) trong sheet TH. Bấm chuột sang sheet khác và quay lại sheet TH thì các Ô (C12:H12) lại tô màu vàng.
Cái này do mình muốn bạn nhìn rõ hơn khi chọn C4 & C10 ở sheet TIM nên gây hậu quả, cái này cũng chỉnh "zồi"
Những ô có linh liên kết khi em đánh chữ vào ô phia dưới thì chữ nó chuyển màu và gạch chân giống như ô có liên kết phía trên. (Vdụ: Ô E8 DS.CDEN có linh liên kết, ô E9 đánh vào giống ô E8.)
Phần này do cách mình làm là không đóng khung mà copy định dạng ở dòng trên nó, không ngờ trong cột ghi chú của bạn có link nên khi copy định dạng nó mới bị như thế, phần này chắc bạn sử dụng code của bạn Minh Công xem sao, còn không thì bạn khoan tạo link ở dòng cuối cùng, hãy để nó tự chèn một dòng rồi hãy tạo link (tức là phải cách dòng cuối 1 dòng)
Thân
 

File đính kèm

Upvote 0
Cam ơn anh đã chỉnh sửa và nhắc nhở. Nếu trùng tên sẽ có kí hiệu riêng anh ạ.
 
Upvote 0
XIN CHÀO CONCOGIA
Bữa giờ với sự giúp đỡ của anh và kết hợp với code của anh Minh Công bài của em làm khá tốt. Hôm qua em đưa bài này cho thằng bạn áp dụng khi về nó mới phát hiện ra lỗi này, tụi em bó tay không khắc phục được nên nhờ anh giúp đỡ.
Ở sheet DS.CDEN và DS.CDI khi em xoá hết dự liệu (họ và tên) ở cột b. Chỉ cần em bỏ chuột vào ô B3 để đánh tên mới vào thì ở ô A2 nó không còn là "STT" nữa mà copy dòng "DANH SÁCH HỌC SINH CHUYỂN ĐẾN" dán vào, ô A3 đúng ra là số 1 nhưng nó cũng copy dòng DANH SÁCH HỌC SINH CHUYỂN ĐẾN dán vào.
Em nói dài dòng quá. Ý em là dù có xoá hết họ và tên trong cột B chăng nữa khi đánh tên mới vào ô B3 thì ô A3 cũng nhảy số 1. Tương tự như vậy cho ô B4 thì A4 là số 2.
Giúp em nhé anh Concogia. Cảm ơn anh nhiều
 

File đính kèm

Upvote 0
XIN CHÀO CONCOGIA
Bữa giờ với sự giúp đỡ của anh và kết hợp với code của anh Minh Công bài của em làm khá tốt. Hôm qua em đưa bài này cho thằng bạn áp dụng khi về nó mới phát hiện ra lỗi này, tụi em bó tay không khắc phục được nên nhờ anh giúp đỡ.
Ở sheet DS.CDEN và DS.CDI khi em xoá hết dự liệu (họ và tên) ở cột b. Chỉ cần em bỏ chuột vào ô B3 để đánh tên mới vào thì ở ô A2 nó không còn là "STT" nữa mà copy dòng "DANH SÁCH HỌC SINH CHUYỂN ĐẾN" dán vào, ô A3 đúng ra là số 1 nhưng nó cũng copy dòng DANH SÁCH HỌC SINH CHUYỂN ĐẾN dán vào.
Em nói dài dòng quá. Ý em là dù có xoá hết họ và tên trong cột B chăng nữa khi đánh tên mới vào ô B3 thì ô A3 cũng nhảy số 1. Tương tự như vậy cho ô B4 thì A4 là số 2.
Giúp em nhé anh Concogia. Cảm ơn anh nhiều
Ái chà chà, bạn này "ngâm kíu" nhanh nhỉ, theo mình thì:
- Công thức ở một cột nên sử dụng 1 công thức thôi
- Bạn dùng sự kiện trong workbook chưa chính xác lắm
Tạm thời thế này (Cái anh chàng Minh Công đi đâu mất tiêu, bài mình làm mà chẳng chịu sửa cho bạn í)
Mã:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name = "DS.CDEN" Or ActiveSheet.Name = "DS.CDI" Then
        Dim enR As Long
        On Error Resume Next
        If Not Intersect(Target, Range("B3:B2000")) Is Nothing Then
            If Target.Value <> "" Then
                Target.Offset(, -1).FormulaR1C1 = "=COUNTA(R2C1:R[-1]C1)"
                enR = Range("B65536").End(xlUp).Row
                    With Range("A" & enR & ":F" & enR)
                        .Borders(xlEdgeLeft).Weight = xlThin
                        .Borders(xlEdgeTop).Weight = xlHairline
                        .Borders(xlEdgeBottom).Weight = xlHairline
                        .Borders(xlEdgeRight).Weight = xlThin
                        .Borders(xlInsideVertical).Weight = xlThin
                    End With
            End If
        End If
    End If
End Sub
Bạn xóa code cũ trong This Workbook đi rồi chép em này vào
Chúc bạn mau tiến bộ trong mấy cái VBA rắc rối này
Chú ý: cột A2 phải có dữ liệu
Thân
 
Upvote 0
Tôi cũng làm công tác thống kê học sinh đây.
Tôi thấy các bạn có nhiều cách thật hay. Tôi gởi file lê nhờ các bạn giúp nhé! Danh sách của tôi cũng cần các sheet con thay đổi thông tin theo sheet gốc (DS HS). Cám ơn các bạn rất nhiều!
Ái chà, cái này bộ bạn cần lắm sao mà gởi bài hỏi lung tung "zị" ?
Hình như đã có thành viên giúp bạn bằng công thức, mình làm cho bạn bằng VBA nhé
Nhập mới hoặc sửa dữ liệu ở sheet "DS HS", chọn các sheet còn lại xem kết quả
Tiêu đề bỏ merge cell đi nhé, cái này chỉ làm phiền thêm thôi, không merge cũng đẹp chán
Thân
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom