Nhờ anh chị giúp đỡ "rút gọn code"

John Carter

Thành viên mới
Mình đưa ra cách khác chắc gì bạn hiểu, vậy nên sử dụng cách của bạn, bạn hiểu là được, code chạy được là được. Sau này có thêm kiến thức mới, ta lại bổ sung vào. Như vậy bạn dễ sửa chữa và nâng cấp cho sau này, còn xài cách ng khác cho mà k biết thì mỗi lần gặp vấn đề lại phải đi hỏi, k có lợi. :)
Mã:
Sub Sua_ti_la_dc()
    Dim i           As Integer
    Dim dk1, dk2, dk3 As String
    Dim Kq, v1, v2, v3 As Range
    Dim Wf          As WorksheetFunction
    Set Wf = WorksheetFunction
    dk1 = Range("D29")
    dk2 = Range("D28")
    dk3 = Range("D27")
    For i = 7 To 27 Step 5
        Set Kq = Range(Cells(27, i), Cells(29, i + 2))
        Set v1 = Range(Cells(23, i), Cells(25, i + 2))
        Set v2 = Range(Cells(19, i), Cells(21, i + 2))
        Set v3 = Range(Cells(15, i), Cells(17, i + 2))
        Cells(34, i) = Wf.SumIfs(Kq, v1, dk1, v2, dk2)
        Cells(35, i) = Wf.SumIfs(Kq, v1, dk1, v2, dk2, v3, dk3)
    Next i
End Sub
 

hongphuong

Thành viên mới
Em cảm ơn anh @John Carter
cách này @bluestar đã làm giúp em ở bài số #09 rùi mà
Em muốn các anh chị giúp em ở câu hỏi bài #19 cơ ạ
Như này anh oi

"Em cảm ơn anh @bluestar và anh @Ngày Mới
Em đac nghiên cứu và hiểu được code của anh @bluestar rùi ạ.
Anh oi cho em hỏi thêm như này các anh nhé.
Nếu như số dòng của vùng điều kiện và vùng dữ liệu tăng lên hoặc giảm xuống bất kỳ.
Thì trường hợp này viết code như thế nào ạ.

Em cảm ơn các anh ạ,"
 

John Carter

Thành viên mới
@hongphuong nếu vùng điều kiện và vùng dữ liệu tăng giảm thì sửa công thức bằng tay nhé, lạm dụng VBA làm gì k biết.
Dữ liệu cố định hay nội dung không thay đổi nhiều thì có thể áp dụng tìm dòng cuối, cột cuối chứ thêm dòng thêm cột ngẫu nhiên như kia thì riêng mình mình xài công thức. Vậy nhé, mình stop ở đây, ai giúp đc thì giúp ;)
 
Top