- Tham gia
- 17/8/08
- Bài viết
- 8,662
- Được thích
- 16,722
- Giới tính
- Nam
Lúc trước ta quét từ dưới lên, khi gặp cell rổng thì gán công thức
Giờ ta thêm 1 điều kiện nữa: Quét ngược từ dưới lên, nếu gặp cell rổng hoặc cell chứa công thức thì sẽ gán công thức mới
(chẳng hạn là If Cells(i, 2) = "" Or Cells(i, 2).HasFormula Then)
Đơn giản thế thôi
Uh hen, vậy đâu cần phải 2 vòng lặp làm chi! Cám ơn Thầy!
PHP:
Sub TongCong()
Dim Er As Long, i As Long, iM As String
Range([B5], [B65536].End(xlUp)).Font.Bold = False
Er = [B65536].End(xlUp).Row
For i = Er To 5 Step -1
With Cells(i, 2)
If iM = vbNullString Then iM = .Address(0, 0)
If .Value = vbNullString Or .HasFormula Then
.Value = "=SUM(" & Cells(i + 1, 2).Address(0, 0) & ":" & iM & ")"
.Font.Bold = True: iM = vbNullString
End If
End With
Next i
End Sub
p/s: Nếu chỉ có công thức SUM ở cột B như vậy thôi thì áp dụng cái thủ tục này, nhưng nếu các mục là công thức cập nhật từ nguồn khác thì dùng thủ tục 2 vòng lặp như bài trước!
Lần chỉnh sửa cuối: