Chuyên đề giải đáp những thắc mắc về code VBA (3 người xem)

Người dùng đang xem chủ đề này

  • maytinhvp01

    Thành viên thường trực
    Tham gia
    27/7/13
    Bài viết
    390
    Được thích
    179
    Mình muốn nhờ giải thich câu lệnh " If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c) "
    trong ví du:
    Public Function LonNhat(Ran As Range)
    Dim max As Double, v As Integer, d As Integer, c As Integer
    max = Ran.Cells(1, 1)
    For d = 1 To Ran.Rows.Count
    For c = 1 To Ran.Columns.Count
    If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c)
    Next c
    Next d
    v = Tim(max, Ran)
    LonNhat = max
    End Function
    -------------------------------------------------------
    [INFO1]Thông báo:
    Vì topic này:
    http://www.giaiphapexcel.com/forum/...ải-thích-các-code-đề-nghị-các-bạn-gửi-vào-đây
    đã quá dài nên BQT đóng lại.
    Nay tôi mở topic mới với cùng chủ đề: GIẢI THÍCH NHỮNG THẮC MẮC VỀ CODE
    Các bạn nếu có nhu cầu giải thích code, vui lòng post tại đây nhé
    NDU96081631

    [/INFO1]
     
    Chỉnh sửa lần cuối bởi điều hành viên:
    Application.WorksheetFunction thường giúp code ngắn gọn nhưng nếu dùng nhiều có thể làm chậm code.
    Bài nầy dữ liệu được sắp xếp nên chỉ cần so sánh với ô trên nếu khác là thỏa điều kiện giãn dòng
    Theo hình thì cột AI đâu có sắp xếp? Hay là tôi nhìn nhầm?
     
    Upvote 0
    Theo hình thì cột AI đâu có sắp xếp? Hay là tôi nhìn nhầm?
    Xin lỗi mình nhầm :), nên dùng Dictionary.
    Thật ra yêu cầu giãn dòng của thớt không hợp lý, không giúp người dùng đọc bảng tính rỏ hơn.
    Nếu khác dữ liệu trước thì giãn dòng sẽ hợp lý hơn.
     
    Upvote 0
    PHP:
    Sub ZanDong()
     Dim WF As Object, Rng As Range, Cls As Range
     Dim J As Long, Rws As Long, W
     Const MaX_ As Integer = 35:         Const Min_ As Integer = 23
    
     Set WF = Application.WorksheetFunction
     Rws = [AI10].End(xlDown).Row
     For J = 9 To Rws
        W = W + 1
        Set Rng = [AI9].Resize(W)
        If WF.CountIf(Rng, Cells(J, "AI").Value) = 1 Then
            Rows(J & ":" & J).RowHeight = MaX_
        Else
            Rows(J & ":" & J).RowHeight = Min_
        End If
     Next J
    End Sub
    em cảm ơn anh nhiều ạ
     
    Upvote 0
    Xin lỗi mình nhầm :), nên dùng Dictionary.
    Thật ra yêu cầu giãn dòng của thớt không hợp lý, không giúp người dùng đọc bảng tính rỏ hơn.
    Nếu khác dữ liệu trước thì giãn dòng sẽ hợp lý hơn.
    em làm trong ngành may mặc, yêu cầu dãn dòng này là để em có thể dán mẫu vào dòng đã dãn đấy ra
     
    Upvote 0

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

    Back
    Top Bottom