bluesky9134
Thành viên mới

- Tham gia
- 8/1/13
- Bài viết
- 12
- Được thích
- 4
File đính kèm
Lần chỉnh sửa cuối:
Nếu vậy bạn up file đó lên đây để mọi người sửa giúp chứ đưa cái hình chẳng ai giúp đâu.
Bạn vào chỗ FOMULAS\CALCULATION OPTIONS chuyển nó thành automatic nhé
Bạn chép code này vào File của bạn!(Chỗ đỏ đỏ mới thêm)Mình chỉnh cái đó rồi mà không được bạn, mình nghĩ cái này là do cái macro mình viết, ko biết làm sao để nó tự động chạy cả.![]()
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
Dim rCell As Range
Dim lCol As Long
Dim vResult
[COLOR=#ff0000]Application.Volatile[/COLOR]
lCol = rColor.Interior.ColorIndex
If SUM = True Then
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = WorksheetFunction.SUM(rCell, vResult)
End If
Next rCell
Else
For Each rCell In rRange
If rCell.Interior.ColorIndex = lCol Then
vResult = 1 + vResult
End If
Next rCell
End If
ColorFunction = vResult
End Function
Bạn chép code này vào File của bạn!(Chỗ đỏ đỏ mới thêm)
Muốn cập nhật bạn nhấn phím F9.
Mã:Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult [COLOR=#ff0000]Application.Volatile[/COLOR] lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function
Có cách nào có thể tự cập nhật mỗi lần mình đổ màu luôn ko bạn? Chứ cứ tô 1,2 ô rồi F9 thì mình thấy cũng hơi mất công. Thanks bạn.
Option Explicit
Private Const AddRangeFillColor = "B11:AF20"
Private Const AddRangeCalculate = "AI11:AJ20"
Private OldSelection As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If OldSelection Is Nothing Then Set OldSelection = Range(AddRangeFillColor)
If Not (Intersect(Range(AddRangeFillColor), OldSelection) Is Nothing) Then
Range(AddRangeCalculate).Calculate
End If
Set OldSelection = Target
End Sub
Cách 1 đây, RightClick lên Tab Sheet "Thang 10" chọn ViewCode, và dán đoạn code sau vào
PHP:Option Explicit Private Const AddRangeFillColor = "B11:AF20" Private Const AddRangeCalculate = "AI11:AJ20" Private OldSelection As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If OldSelection Is Nothing Then Set OldSelection = Range(AddRangeFillColor) If Not (Intersect(Range(AddRangeFillColor), OldSelection) Is Nothing) Then Range(AddRangeCalculate).Calculate End If Set OldSelection = Target End Sub
Sau khi tô màu bạn có thể chỉ cần click chuột sang cell khác thì hàm sẽ tự động tính