Rất mong mọi người sửa giúp em code sau ạ (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

kimboiquetoi

Thành viên chính thức
Tham gia
7/11/15
Bài viết
99
Được thích
3
Nghề nghiệp
Tự do
em có đoạn code sau em viết được rồi nhưng giờ muốn thêm điều kiện
A6 thấp hơn <=13, b6 <= 15, C6<=69 trong code thì làm thế nào ạ, em làm mãi mà không ra, trước em có nhờ một anh nhưng chưa sửa được ạ.

Sub Button2_Click()
With Sheet2
If .Range("A" & 6) >= 15 Or .Range("B" & 6) >= 17 Or .Range("C" & 6) >= 71 Then
MsgBox "xin vui long nhap lai vi ti le cao hon thuc te"


If .Range("A" & 6) >= 15 Then
MsgBox "xin vui long nhap lai ti le A"
End If
If .Range("b" & 6) >= 17 Then
MsgBox "xin vui long nhap lai ti le b"
End If
If .Range("c" & 6) >= 71 Then
MsgBox "xin vui long nhap lai ti le c"
End If
Else
MsgBox "ty le da phu hop"
End If
End With
End Sub
 
em có đoạn code sau em viết được rồi nhưng giờ muốn thêm điều kiện
A6 thấp hơn <=13, b6 <= 15, C6<=69 trong code thì làm thế nào ạ, em làm mãi mà không ra, trước em có nhờ một anh nhưng chưa sửa được ạ.

Sub Button2_Click()
With Sheet2
If .Range("A" & 6) >= 15 Or .Range("B" & 6) >= 17 Or .Range("C" & 6) >= 71 Then
MsgBox "xin vui long nhap lai vi ti le cao hon thuc te"


If .Range("A" & 6) >= 15 Then
MsgBox "xin vui long nhap lai ti le A"
End If
If .Range("b" & 6) >= 17 Then
MsgBox "xin vui long nhap lai ti le b"
End If
If .Range("c" & 6) >= 71 Then
MsgBox "xin vui long nhap lai ti le c"
End If
Else
MsgBox "ty le da phu hop"
End If
End With
End Sub
Bạn xem file đính kèm xem được chưa nhé !
 

File đính kèm

Upvote 0
được rồi ạ nhưng ten1, ten2,ten3, ten4 ở đây vậy ạ, em muốn sửa dòng chữ nhưng ko biết ở đâu mà sửa ạ
 
Upvote 0
được rồi ạ nhưng ten1, ten2,ten3, ten4 ở đây vậy ạ, em muốn sửa dòng chữ nhưng ko biết ở đâu mà sửa ạ
Bạn bấm Ctr+F3 vào cửa sổ Name để sửa . Đây là cách sử dùng Msgbox tiếng việt của thày NDU không cần code, đơn giản, dễ sử dụng và nó có thể hiện bất kỳ thứ ngôn ngữ nào đó !
 
Upvote 0
Bạn xem file đính kèm xem được chưa nhé !
em nghĩ code chỉ cần vậy thôi chứ đâu cần dài "thoòng" như thế
Mã:
Sub Button2_Click()
With Sheet1
If .Range("A6") >= 15 Or .Range("B6") >= 17 Or .Range("C6") >= 71 Then
MsgBox "Vui long nhap lai ty le"
Else
MsgBox "Ty le da phu hop"
End If
End With
End Sub
vì trong file có nêu là 1 trong 3 ô đó thì cho nó xử lý cả 3 luôn chứ cần gì chia ra nhiều if với end if như thế
 
Upvote 0
vâng được rồi ạ em cảm ơn rất nhiều các anh các thầy ạ, đã học được thêm một điều rất chi là bổ ích ạ. Đặc biệt là anh Ngoai Thanh ạ, nhưng mong anh giúp em một tí nữa ạ, giờ khi ấn nó cứ hiện tỷ lệ đã phù hợp rồi mặc dù trước đó thông báo các tỉ lệ kia ạ, giờ phải sửa ở dòng bôi đỏ như thế nào cho đúng ạ, có phải sửa như dòng xanh không ạ, mong các anh giúp em nốt vụ này ạ
Sub Button2_Click()
With Sheet1
If .Range("A" & 6) >= 15 Or .Range("A" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")


End If
If .Range("b" & 6) >= 17 Or .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("c" & 6) >= 71 Or .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If

Nếu tât cả điều kiện trên thỏa mãn thì ( Cái này phải sử dụng code gì, hàm and như thế nào à)
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")


End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
em nghĩ code chỉ cần vậy thôi chứ đâu cần dài "thoòng" như thế
Mã:
Sub Button2_Click()
With Sheet1
If .Range("A6") >= 15 Or .Range("B6") >= 17 Or .Range("C6") >= 71 Then
MsgBox "Vui long nhap lai ty le"
Else
MsgBox "Ty le da phu hop"
End If
End With
End Sub
vì trong file có nêu là 1 trong 3 ô đó thì cho nó xử lý cả 3 luôn chứ cần gì chia ra nhiều if với end if như thế
Bạn xem lại Yêu cầu của chủ topic xem code của bạn có đáp ứng được không ?
"em có đoạn code sau em viết được rồi nhưng giờ muốn thêm điều kiện
A6 thấp hơn <=13, b6 <= 15, C6<=69 trong code thì làm thế nào ạ, em làm mãi mà không ra, trước em có nhờ một anh nhưng chưa sửa được ạ"
Và người ta yêu cầu phải hiện Msgbox cụ thể theo từng ô khi không đạt yêu cầu .
 
Lần chỉnh sửa cuối:
Upvote 0
Sub Button2_Click()
With Sheet2
If .Range("A" & 6) >= 15 Or .Range("B" & 6) >= 17 Or .Range("C" & 6) >= 71 Then
MsgBox "xin vui long nhap lai vi ti le cao hon thuc te"
If .Range("A" & 6) >= 15 Then
MsgBox "Ti le A cao hon muc cho phep xin vui long chinh sua lai"
End If
If .Range("A" & 6) <= 13 Then
MsgBox " Ti le A thap hon muc cho phep xin vui long chinh sua lai"
End If
If .Range("b" & 6) >= 17 Then
MsgBox "Ti le B cao hon muc cho phep xin vui long chinh sua lai"
End If
If .Range("b" & 6) <= 15 Then
MsgBox "Ti le B thap hon muc cho phep xin vui long chinh sua lai"
End If
If .Range("c" & 6) >= 71 Then
MsgBox "Ti le C cao hon muc cho phep xin vui long chinh sua lai"
End If
If .Range("c" & 6) <= 69 Then
MsgBox "Ti le C thap hon muc cho phep xin vui long chinh sua lai"
End If
Else
MsgBox "ty le da phu hop"
End If
End With
End Sub


khả năng là chỉ có cách này, cách kia có vẻ khó dùng hơn
 
Upvote 0
vâng được rồi ạ em cảm ơn rất nhiều các anh các thầy ạ, đã học được thêm một điều rất chi là bổ ích ạ. Đặc biệt là anh Ngoai Thanh ạ, nhưng mong anh giúp em một tí nữa ạ, giờ khi ấn nó cứ hiện tỷ lệ đã phù hợp rồi mặc dù trước đó thông báo các tỉ lệ kia ạ, giờ phải sửa ở dòng bôi đỏ như thế nào cho đúng ạ, có phải sửa như dòng xanh không ạ, mong các anh giúp em nốt vụ này ạ
Sub Button2_Click()
With Sheet1
If .Range("A" & 6) >= 15 Or .Range("A" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")


End If
If .Range("b" & 6) >= 17 Or .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("c" & 6) >= 71 Or .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If

Nếu tât cả điều kiện trên thỏa mãn thì ( Cái này phải sử dụng code gì, hàm and như thế nào à)
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")


End With
End Sub
Bạn Bấm Ctr+f3 để xem Name và sửa trong tên "Ten1"...."Ten4".Lần sau bạn hỏi ở topic nào thì hỏi lại ở topic ấy cho đến bao giờ thỏa đáng thì thôi . Tránh trường hợp 1 vấn đề hỏi nhiều topic.
 
Lần chỉnh sửa cuối:
Upvote 0
vâng anh, tên thì em sửa được theo chỉ dẫn của anh nhưng giờ nó cứ hiện tên 4 lên theo các tên kia mặc dù chưa thỏa mãi điều kiện giờ muốn sửa theo câu lệnh em bôi xanh ấy, thì làm thế nào thêm else vào chỗ nào cho thỏa đáng ạ.
 
Upvote 0
Sau một hồi vận dụng của các anh em đã làm được, theo các phương pháp của các anh

Sub Button2_Click()
With Sheet1
If .Range("a" & 6) >= 15 Or .Range("b" & 6) >= 17 Or .Range("c" & 6) >= 71 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")
If .Range("a" & 6) >= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("a" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If
If .Range("b" & 6) >= 17 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")
End If
If .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten5") & """,2)")
End If
If .Range("c" & 6) >= 71 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten6") & """,2)")
End If
If .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten7") & """,2)")
End If
Else
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten8") & """,2)")
End If
End With
End Sub
 
Upvote 0
rất rất cảm ơn ý kiến đóng góp chỉ bảo của anh Ngoai Thanh nhé
 
Upvote 0
vâng anh, tên thì em sửa được theo chỉ dẫn của anh nhưng giờ nó cứ hiện tên 4 lên theo các tên kia mặc dù chưa thỏa mãi điều kiện giờ muốn sửa theo câu lệnh em bôi xanh ấy, thì làm thế nào thêm else vào chỗ nào cho thỏa đáng ạ.
Bạn chú ý điều kiện nhé ! Bạn nhập số để text thử thế nào mà bảo chưa thỏa mãn . Nói ví dụ cụ thể các trường hợp không chính xác . Bạn dùng code tại Bài #6 nhé , Dùng code khác rồi la lên là sao ?
 
Lần chỉnh sửa cuối:
Upvote 0
thì cái ấy là code của anh mà, em áp dụng thấy chưa tối ưu lắm nên em kết hợp cả cái em viết nữa tạo nên cái#11 ạ, nhờ anh mà em học hỏi được rất nhiều, em ghi rõ ràng là em kết hợp mà hì
 
Upvote 0
thì cái ấy là code của anh mà, em áp dụng thấy chưa tối ưu lắm nên em kết hợp cả cái em viết nữa tạo nên cái#11 ạ, nhờ anh mà em học hỏi được rất nhiều, em ghi rõ ràng là em kết hợp mà hì
Bạn sửa cho tối ưu rồi thì cứ thế mà dùng ! La chi nữa ? Tạm biệt .
 
Upvote 0
em có la đâu ạ, anh xem lại xem em kết luận rồi mà, bye and thánks
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn chú ý điều kiện nhé ! Bạn nhập số để text thử thế nào mà bảo chưa thỏa mãn . Nói ví dụ cụ thể các trường hợp không chính xác . Bạn dùng code tại Bài #6 nhé , Dùng code khác rồi la lên là sao ?

Trong cái code sau, dòng ttoo đỏ khong được đặt trong điều kiện nào cả cho nên nó luôn thực hiện.
Người dùng sẽ thấy một câu cảnh báo
"Tỉ lệ tại A6 ngoài giới hạn thực tế rồi , cha nội !"
Tiếp theo là câu
"Tỉ lệ đã phù họp !"
Mặc dù chả chỉnh sửa gì cả.

Sub Button2_Click()
With Sheet1
If .Range("A" & 6) >= 15 Or .Range("A" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")

End If
If .Range("b" & 6) >= 17 Or .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("c" & 6) >= 71 Or .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If

Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")

End With
End Sub
 
Upvote 0
Trong cái code sau, dòng ttoo đỏ khong được đặt trong điều kiện nào cả cho nên nó luôn thực hiện.
Người dùng sẽ thấy một câu cảnh báo
"Tỉ lệ tại A6 ngoài giới hạn thực tế rồi , cha nội !"
Tiếp theo là câu
"Tỉ lệ đã phù họp !"
Mặc dù chả chỉnh sửa gì cả.
Đúng rồi, phải nói rõ như bạn thì mới biết chưa đạt ở chỗ nào chứ ! Thật ra theo điều kiện thì ý 1 <= 13 và >= 15 (tức 14), ý 2 <=15 và >=17(tức là 16), ý 3 <=69 và >= 71(tức là 70) . Vậy cần chi cót két chi cho mệt ... cuối cùng chắc cũng chẳng đi tới đâu . còn code thì :

Sub Button2_Click()
With Sheet1
If .Range("A" & 6) >= 15 Or .Range("A" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")
End If
If .Range("b" & 6) >= 17 Or .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("c" & 6) >= 71 Or .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If
If .Range("A" & 6) = 14 And .Range("B" & 6) = 16 And .Range("C" & 6) = 70 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")
End If
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
hì, đúng đấy anh, tức là 14:16:70 nhưng không biết làm sao nên đành chia ra thế ạ, nhưng như thế nó mới tính được trong khoảng, còn cho nó bằng 14, 16, 70 thì tuyệt đối quá, tức là nó có thể là 13,5 hoặc 13,3 đều đúng, nhưng <=13 thì lại sai anh ạ, tức lấy giá trị xấp xỉ chứ không phải là tuyệt đối ạ
 
Lần chỉnh sửa cuối:
Upvote 0
hì, đúng đấy anh, tức là 14:16:70 nhưng không biết làm sao nên đành chia ra thế ạ, nhưng như thế nó mới tính được trong khoảng, còn cho nó bằng 14, 16, 70 thì tuyệt đối quá, tức là nó có thể là 13,5 hoặc 13,3 đều đúng, nhưng <=13 thì lại sai anh ạ, tức lấy giá trị xấp xỉ chứ không phải là tuyệt đối ạ
Bạn copy code sau thay cho code trên :

Sub Button2_Click()

With Sheet1
If .Range("A" & 6) >= 15 Or .Range("A" & 6) <= 13 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten1") & """,2)")
End If
If .Range("b" & 6) >= 17 Or .Range("b" & 6) <= 15 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten2") & """,2)")
End If
If .Range("c" & 6) >= 71 Or .Range("c" & 6) <= 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten3") & """,2)")
End If
If .Range("A" & 6) < 15 And .Range("A" & 6) > 13 And .Range("b" & 6) > 15 And .Range("b" & 6) < 17 And .Range("c" & 6) < 71 And .Range("c" & 6) > 69 Then
Application.ExecuteExcel4Macro ("ALERT(""" & Evaluate("ten4") & """,2)")
End If
End With
End Sub

Thôi thì giúp nốt cho bạn !
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom