Vấn đề: "Công thức tìm kiếm và liệt kê"

  • Thread starter Thread starter boyxin
  • Ngày gửi Ngày gửi
Liên hệ QC

boyxin

Members actively
Tham gia
10/3/08
Bài viết
1,664
Được thích
2,335
Hỏi về: "Công thức tìm kiếm và liệt kê"

Các bác ui, em loay hoay mãi mà không lập được công thức cho cái vụ này

Rất mong các bác lập hộ em cái công thức để liệt kê (cell tô màu vàng)

Vấn để của em đã nhận được sự giúp đỡ nhiệt tình của các bác trên GPE nên đã được giải quyết xong và được thể hiện trong phần " Hỗ trợ CNLớp THCS - XLHL theo QC 40". Chi tiết tại mục phần chữ ký của em

Nên em xóa tập tin dính kèm trong bài này để giải phóng tài nguyên​
 
Lần chỉnh sửa cuối:
Đối với mình, xài VBA dễ tạo ra kết quả hơn nhiều so với công thức trong excel;
Mình chỉ sửa lại vài dòng lệnh trong
là được;
Macro đó như sau: (Những dòng lệnh đã sửa có mang số hiệu >2)
Chú í: do xung đột phông chữ giữa bạn & mình nên bạn phải sửa lại trực tiếp trong dòng lệnh 8 nếu cần!)

PHP:
Option Explicit
 Dim lRow As Long
 Dim Rng As Range, RngCr As Range, RngDes As Range
 Sub LapDSach()
  ' Macro recorded 4/7/2008 by Sa_DQ (GPE.COM);'
  Dim DienHS As String, Xh As String
  Dim DesRow As Long
  
  Xh = Chr(10) & Chr(13):               Sheets("Ca Nam").Select
  lRow = Range("A65432").End(xlUp).Row
  Set Rng = Range("A2:U" & lRow):       Set RngDes = Range("W5:AB5")
  DienHS = "1: Luu Ban;" & Xh & "2: Thi Lai;" & Xh & "3: Ren Hanh Kiem;"
  Application.ScreenUpdating = False
  DienHS = InputBox(DienHS, "BAN CAN LAP DANH SACH NAO?", "A")
  DienHS = UCase$(DienHS)
  Select Case DienHS
  Case "A"
    Range("Z2") = "Y":      Range("AA2") = "Y"
    DesRow = 8:             Sheets("LbTlRhk").Range("C8:C20").ClearContents
  Case "B"
    Range("Z2") = "<>Y":    Range("AA2") = "Y"
    DesRow = 24:             Sheets("LbTlRhk").Range("C24:C35").ClearContents
  Case "C"
    Range("Z2") = "Y":    Range("AA2") = "<>Y"
    DesRow = 40:            Sheets("LbTlRhk").Range("C40:C49").ClearContents
  End Select
  Set RngCr = Range("W1:AB2")
  Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=RngCr, _
        CopyToRange:=RngDes, Unique:=False
        
2 'Chon Trong Cac Mon Kiem Tra Lai'
  Dim RowTL As Long, jW As Long, JZ As Long
  Dim MonThi As String, HoTen As String
  Dim DemMon As Byte '<<== New'
  
  RowTL = Range("X65432").End(xlUp).Row
  If DienHS = "B" Then
    For jW = 6 To RowTL
        With Cells(jW, 24)
            HoTen = .Value
            For JZ = 3 To lRow
                If Cells(JZ, 2) = HoTen Then
                    Set Rng = Cells(JZ, 2).Offset(, 1).Resize(1, 13)
                    For Each RngDes In Rng
5                       If RngDes < 5 And RngDes <> "" Then
6                            DemMon = 1 + DemMon
7                            MonThi = MonThi & Cells(2, RngDes.Column) & "=" & RngDes & "; "
                        End If
                    Next RngDes
8                    .Offset(, 5) = DemMon & " môn: " & MonThi
                    MonThi = ""
                End If
                
            Next JZ
        End With
    Next jW
  End If
  
  Range("X6:X" & RowTL).Copy Destination:=Sheets("LbTlRhk").Range("C" & DesRow)
  If DienHS = "B" Then _
  Range("AC6:AC" & RowTL).Copy Destination:=Sheets("LbTlRhk").Range("E" & DesRow)
  Set Rng = Nothing
  Set RngCr = Nothing:              Set RngDes = Nothing
  Sheets("LbTlRhk").Select:         Range("C" & DesRow).Select
  
 End Sub
 

File đính kèm

em itờ VBA nên cứ nghĩ đến việc phải bấm nút để chạy macrô để ra kết quả đã thấy ngán rồi (chưa nói đến chuyện chạy ở máy CQ lại còn lo người khác dùng chương trình diệt virus gặm hết macrô thì ...) phần tên em đã dùng công thức trích được rồi,

Rất mong các bác lập giúp em Công thức liệt kê nốt phần còn lại trong phần chọn các môn để thi lại
 
em itờ VBA nên cứ nghĩ đến việc phải bấm nút để chạy macrô để ra kết quả đã thấy ngán rồi (chưa nói đến chuyện chạy ở máy CQ lại còn lo người khác dùng chương trình diệt virus gặm hết macrô thì ...) Rất mong các bác lập giúp em Công thức liệt kê nốt phần còn lại trong phần chọn các môn để thi lại

Cần học cách sống chung với virus chứ bạn. Nếu ở máy CQ thì trước đây mình hay làm thế này:
Lưu tập tin macro trong word hay trình soạn thảo nào đó; Ghi chú nó dùng ở file nào;
Khi cần thì chép qua mà xài thôi (cách củ chuối í mà!)

Sung.jpg
 
Web KT

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

Back
Top Bottom