Hàm chạy ổn rồi ạ! em cảm ơn nhiềuđã chỉnh lại code
đã chỉnh lại codeMã:Function IFS(ParamArray cond_Vals() As Variant) As Variant Dim i As Byte, Msg As String, Title As String If UBound(cond_Vals) = LBound(cond_Vals) Then MsgBox "Phai nhap it nhat 2 tham so" & Chr(10) & Chr(10) & "=IFS( LogicalTest1, ValueIfTrue1, " & "[LogicalTest2, ValueIfTrue2]" & Chr(10) & " , . . . , [ValueIfFalse])", vbOKOnly, "Cong thuc bi loi!" IFS = CVErr(xlErrRef) Exit Function End If For i = LBound(cond_Vals) To UBound(cond_Vals) Step 2 If i = UBound(cond_Vals) Then IFS = cond_Vals(i): Exit Function If cond_Vals(i) Then IFS = cond_Vals(i + 1): Exit Function Next i IFS = False End Function
Thưa thầy! nguyên nhân là khi đi sang máy khác cần phải chỉnh sửa, hoặc gửi cho người khác xem thì hàm vẫn có thể dùng được ạ, vì em thấy hàm mới hữu hiệu hơn nhiều ạ.. em cảm ơn thầy ạ!
Bác oi bác oiđã chỉnh lại code
đã chỉnh lại codeMã:Function IFS(ParamArray cond_Vals() As Variant) As Variant Dim i As Byte, Msg As String, Title As String If UBound(cond_Vals) = LBound(cond_Vals) Then MsgBox "Phai nhap it nhat 2 tham so" & Chr(10) & Chr(10) & "=IFS( LogicalTest1, ValueIfTrue1, " & "[LogicalTest2, ValueIfTrue2]" & Chr(10) & " , . . . , [ValueIfFalse])", vbOKOnly, "Cong thuc bi loi!" IFS = CVErr(xlErrRef) Exit Function End If For i = LBound(cond_Vals) To UBound(cond_Vals) Step 2 If i = UBound(cond_Vals) Then IFS = cond_Vals(i): Exit Function If cond_Vals(i) Then IFS = cond_Vals(i + 1): Exit Function Next i IFS = False End Function
Xem cách dùng bài #9Bác oi bác oi
Bác hướng dẫn cháu sử dụng hàm này v[ới Bác oi.
Bác oiXem cách dùng bài #9
Bác oi
thật sự cháu không hiểu như nào cả
Bác làm ơn giúp cháu cho một file ví dụ đi Bác.
Function IFS(ParamArray cond_Vals() As Variant) As Variant
Dim i As Byte, Msg As String, Title As String
If UBound(cond_Vals) = LBound(cond_Vals) Then
MsgBox "Phai nhap it nhat 2 tham so" & Chr(10) & Chr(10) & "VD: =IFS(A10>20, 20, A10>10, 15, A10>5, 5, TRUE, 0)", vbOKOnly, "Cong thuc bi loi!"
IFS = CVErr(xlErrRef)
Exit Function
End If
For i = LBound(cond_Vals) To UBound(cond_Vals) Step 2
If i = UBound(cond_Vals) Then IFS = cond_Vals(i): Exit Function
If cond_Vals(i) Then IFS = cond_Vals(i + 1): Exit Function
Next i
IFS = False
End Function
Bác oi
thật sự cháu không hiểu như nào cả
Bác làm ơn giúp cháu cho một file ví dụ đi Bác.
Function SWITCH2003(Th As String) As Integer
Dim TDN As String
'Hàm Se Chuyên Tên Tháng Thành Sô Tháng '
TDN = Left(Th, 1)
SWITCH2003 = Switch(TDN = "h", 2, TDN = "c", 9, TDN = "n", 5, TDN = "s", 6)
End Function
Function SWITCH2003(Num As Double) As String
SWITCH2003 = Switch(Num <= 0, "A", Num <= 5, "B", Num <= 10, "C", Num <= 15, "D", Num > 15, "E")
End Function
Hi hi cảm ơn bạnCu phap =IFS(A10>=6,"A",A10>=5,"B",A10>=4,"C",TRUE,0)Mã:Function IFS(ParamArray cond_Vals() As Variant) As Variant Dim i As Byte, Msg As String, Title As String If UBound(cond_Vals) = LBound(cond_Vals) Then MsgBox "Phai nhap it nhat 2 tham so" & Chr(10) & Chr(10) & "VD: =IFS(A10>20, 20, A10>10, 15, A10>5, 5, TRUE, 0)", vbOKOnly, "Cong thuc bi loi!" IFS = CVErr(xlErrRef) Exit Function End If For i = LBound(cond_Vals) To UBound(cond_Vals) Step 2 If i = UBound(cond_Vals) Then IFS = cond_Vals(i): Exit Function If cond_Vals(i) Then IFS = cond_Vals(i + 1): Exit Function Next i IFS = False End Function
=IFS(A10>20, 20, A10>10, 15, A10>5, 5, TRUE, 0)
Bài đã được tự động gộp: