n0bita1010
Thành viên mới
- Tham gia
- 10/3/13
- Bài viết
- 10
- Được thích
- 0
Xin chào các bác,
Em có file chấm công ở đính kèm,
Mô tả: - Mục đích: tạo 1 công thức đếm trong 1 vùng dữ liệu, với các điều kiện sau:
+ Nếu ô đó không phải màu vàng
+ Nếu ô đó chứa: HC or C1 or C2 (Tức là đi làm đủ 8 tiếng ca HC, ca 1, ca2) thì đếm là: 1
+ Nếu ô đó chứa: 0.5HC or 0.5HC1 or 0.5C2 (tức đi làm nửa ca) thì đếm là: 0.5
Em tạo Function như sau, nhưng khi gõ công thức thì kết quả trả về là : #Value.
Em mới đang tập toẹ VBA nên Không biết code bị sai ở đâu.
Xin các cao nhân chỉ giáo ạ!
Function demhct(ra As Range)
Dim cu As Range
' cu la bien o
Dim sumRes
' tong dem
Application.Volatile
sumRes = 0
For Each cu In ra
If cu.Interior.ColorIndexr <> 6 Then
If cu.Value = "HC" Or cu.Value = "C1" Or cu.Value = "C2" Then
sumRes = sumRes + 1
Else
If cu.Value = "0.5HC" Or cu.Value = "0.5C1" Or cu.Value = "0.5C2" Then
sumRes = sumRes + 0.5
End If
End If
End If
Next cu
demhct = sumRes
End Function
Em có file chấm công ở đính kèm,
Mô tả: - Mục đích: tạo 1 công thức đếm trong 1 vùng dữ liệu, với các điều kiện sau:
+ Nếu ô đó không phải màu vàng
+ Nếu ô đó chứa: HC or C1 or C2 (Tức là đi làm đủ 8 tiếng ca HC, ca 1, ca2) thì đếm là: 1
+ Nếu ô đó chứa: 0.5HC or 0.5HC1 or 0.5C2 (tức đi làm nửa ca) thì đếm là: 0.5
Em tạo Function như sau, nhưng khi gõ công thức thì kết quả trả về là : #Value.
Em mới đang tập toẹ VBA nên Không biết code bị sai ở đâu.
Xin các cao nhân chỉ giáo ạ!
Function demhct(ra As Range)
Dim cu As Range
' cu la bien o
Dim sumRes
' tong dem
Application.Volatile
sumRes = 0
For Each cu In ra
If cu.Interior.ColorIndexr <> 6 Then
If cu.Value = "HC" Or cu.Value = "C1" Or cu.Value = "C2" Then
sumRes = sumRes + 1
Else
If cu.Value = "0.5HC" Or cu.Value = "0.5C1" Or cu.Value = "0.5C2" Then
sumRes = sumRes + 0.5
End If
End If
End If
Next cu
demhct = sumRes
End Function