gom các vế vào trong dấu ngoặcHi all,
Cả nhà cho mình hỏi cách dùng if kết hợp and và or. Ví dụ:
If x=1 and y=1 OR x=1 and y=2 Then Run function 1 End if
Thanks all!!!
Thực ra nếu đề như vậy thì 2 hàm if tối ưu hơn, nhưng mà code dài hơn tí:Hi all,
Cả nhà cho mình hỏi cách dùng if kết hợp and và or. Ví dụ:
If x=1 and y=1 OR x=1 and y=2 Then Run function 1 End if
Thanks all!!!
if x=1 then
if y=1 or y =2 then
Run function 1
end if
end if
If text1=A1 OR text1=A2 OR text1=A3 OR ... OR text1=A100 AND text2 = B Then
Run function 1
End if
Dùng vòng lặp:Thanks 2 Pro @trung.aof @Nhattanktnn
Còn case dưới code mình hơi dài 2 Pro có cao kiến gì cho gọn code lại không chỉ mình với.
If text1=A1 OR text1=A2 OR text1=A3 OR ... OR text1=A100 AND text2 = B Then Run function 1 End if
Dim I As Long
If Text2 = B Then
For I = 1 To 100
If text1 = Sheets("ABC").Cells(I, "A").Value Then
Run function 1
Exit For
End If
Next
End If
Select case hoặc cho điều kiện vào một chuỗi rồi dùng instr().Dùng vòng lặp:
Cả 2 cái này em đều nghĩ tới rồi anh, select case thấy không ổn vì có tới 100 lần. Giữa instr và for thì em chọn for cho dễ hiểu, với lại instr chưa hẳn đúng trong trường hợp text1 là chuỗi có trong A1 nhưng nó không bằng A1Select case hoặc cho điều kiện vào một chuỗi rồi dùng instr().
Dim strCond as variantselect case thấy không ổn vì có tới 100 lần
Rồi cũng phải liệt kê ra 100 loại mà anhDim strCond as variant
strCond = 1
Select case strCond
case 1,2,3, "A", B", "C" ' liệt kê hết ở đây.
Msgbox strCond
End Select
Vậy có cách nào lại không liệt kê điều kiện ra vậy chứ?Rồi cũng phải liệt kê ra 100 loại mà anh
Anh không hiểu ý em rồi, theo em hiểu ý thớt là điều kiện nằm trên cell từ A1 tới A100. Nếu select vậy thì phải ngồi gõ giá trị trong 100 cell ấy vào hàm select. Còn vòng for thì chỉ duyệt qua từng ô thôiVậy có cách nào lại không liệt kê điều kiện ra vậy chứ?
Viết luật quy định 100 điều khoản thì phải viết rõ 100 điều khoản đó ra giấy, không lẽ giấu trong đầu ai đó sao?
Chời ơi.
100 lần thì dùng Match chứ vòng lặp mệt lắm.Cả 2 cái này em đều nghĩ tới rồi anh, select case thấy không ổn vì có tới 100 lần. Giữa instr và for thì em chọn for cho dễ hiểu, với lại instr chưa hẳn đúng trong trường hợp text1 là chuỗi có trong A1 nhưng nó không bằng A1
Nếu Case có sự liên tiếp thì dùng "To"Dim strCond as variant
strCond = 1
Select case strCond
case 1,2,3, "A", B", "C" ' liệt kê hết ở đây.
Msgbox strCond
End Select