Giúp mình code VBA tự động tính tổng của 3 ô, theo hàng ngang rồi chọn ra số tổng lớn nhất

Liên hệ QC

hoang0569

Thành viên thường trực
Tham gia
21/7/09
Bài viết
316
Được thích
8
Mình gửi theo File, rất mong anh chị em giúp, xin cảm ơn
 

File đính kèm

Cái này đâu cần code kiết làm gì cho mệt. Cứ hàm mà vã cho nhanh
 
Upvote 0
Mình gửi theo File, rất mong anh chị em giúp, xin cảm ơn
Bạn chạy code này xem nhé.
Mã:
Sub tinhtong()
    Dim arr, lr As Long, i As Long, j As Long, max As Double, arr1, tong As Double
    With Sheet1
         lr = .Range("B" & Rows.Count).End(xlUp).Row
         arr = .Range("B10:S" & lr).Value
         ReDim arr1(1 To UBound(arr, 1), 1 To 1)
         For i = 1 To UBound(arr, 1)
             max = 0
             For j = 1 To UBound(arr, 2) Step 3
                 tong = arr(i, j) + arr(i, j + 1) + arr(i, j + 2)
                 If max < tong Then max = tong
             Next j
            arr1(i, 1) = max
         Next i
         .Range("T10").Resize(i - 1, 1).Value = arr1
     End With
End Sub
 
Upvote 0
Cái này đâu cần code kiết làm gì cho mệt. Cứ hàm mà vã cho nhanh
Code kiếc mới xịn chứ. Mà code in hệt như hàm cho nó quái:

Sub Quai()
For i = 10 To 12
Set rg = Range("B" & i).Resize(, 3)
rg.Offset(, 18).Resize(, 1) = Application.Max(Array(Application.Sum(rg.Offset(, 0)), Application.Sum(rg.Offset(, 3)), _
Application.Sum(rg.Offset(, 6)), Application.Sum(rg.Offset(, 9)), Application.Sum(rg.Offset(, 12)), Application.Sum(rg.Offset(, 15))))
Next i
End Sub

Đương nhiên, vì in hệt như hàm cho nên không copy màu.
 
Upvote 0
Mình xin giới thiệu thêm 1 hàm người dùng nữa nè:
PHP:
Function TgMAX(Rng As Range) As Double
 Dim Tong As Double, J As Integer
 Dim WF As Object
 
 Set WF = Application.WorksheetFunction
 For J = 1 To Rng.Columns.Count Step 3
    Tong = WF.Sum(Rng(J).Resize(, 3))
    If TgMAX < Tong Then TgMAX = Tong
 Next J
End Function

Cách xài: =TgMAX(B11:S11)
 
Upvote 0
Rất cảm ơn các bạn đã quan tâm giúp.
 
Upvote 0
Web KT

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

Back
Top Bottom