haonlh > 19-08-20, 10:56 PM
[color=#333333][font=Tahoma, Verdana, Arial, sans-serif]If <điều kiện> Then[/font][/color][/size]
[size=x-small][color=#333333][font=Tahoma, Verdana, Arial, sans-serif] <Lệnh>[/font][/color][/size]
[size=x-small][color=#333333][font=Tahoma, Verdana, Arial, sans-serif]10 Else If <điều kiện> Then 'Tôi thêm nhãn 10 và 20 để tiện trình bày[/font][/color][/size]
[size=x-small][color=#333333][font=Tahoma, Verdana, Arial, sans-serif] <Lệnh>[/font][/color][/size]
[size=x-small][color=#333333][font=Tahoma, Verdana, Arial, sans-serif]20 End If[/font][/color][/size]
[size=x-small][color=#333333][font=Tahoma, Verdana, Arial, sans-serif]End If[/font][/color]
ongke0711 > 20-08-20, 09:24 AM
(19-08-20, 10:56 PM)haonlh Đã viết: (trên toàn mã máy, cứ để nguyên để Mod chỉnh sửa). Hãy đọc từ đây
If <điều kiện> Then
<Lệnh>
10 Else If <điều kiện> Then 'Tôi thêm nhãn 10 và 20 để tiện trình bày
<Lệnh>
20 End If
End If
Vì rằng sau Then của lệnh If mà xuống dòng thì sau Else cũng phải xuống dòng. Tác giả đã không xuống dòng mà viết liền lệnh If tiếp (tôi nói viết liền là theo nghĩa có dấu cách rồi viết lệnh.
Tôi nghĩ, sau 1 cú pháp nên có câu lệnh "thực" để thử, trong đó <đk> nên thay bằng True, <lệnh> nên thay bằng
Debug.Print 1 'hoặc 2 gì đó thì sẽ dễ thử lại trực tiếp trên VBA.
Xuân Thanh > 20-08-20, 11:36 AM
haonlh > 20-08-20, 12:21 PM
ongke0711 > 20-08-20, 03:32 PM
(20-08-20, 12:18 PM)haonlh Đã viết: Cảm ơn ongke0711 đã quan tâm đọc bài.
Xin nói rõ thế này
1. Tôi là người mới, nên đọc thế nào thì làm thế đó. Cũng có biết các cú pháp cơ bản của ngôn ngữ lập trình, nhưng lâu rồi nên có thể quên.
2. Quên thì phải thử trên VBA. Tôi không thể thử theo mẫu sau
...
thuyyeu99 > 20-08-20, 05:19 PM
haonlh > 20-08-20, 05:21 PM
haonlh > 21-08-20, 12:39 PM
(20-04-20, 09:32 PM)mrsiro Đã viết: Câu lệnh có cấu trúc sau:
Mã:If tôi có tiền then
If msgbox("bạn có chắc muốn mua",vbYesNo) = vbYes then
tôi mua
End if
Else
tôi mua
End if
Có cách nào rút ngắn cú pháp của code trên không, bởi vì "tôi mua" xuất hiện 2 lần, mính muốn rút ngắn lại.
tranthanhan1962 > 21-08-20, 01:11 PM
(20-04-20, 09:32 PM)mrsiro Đã viết: Câu lệnh có cấu trúc sau:Đây là một đoam mã không ai sử dụng. Do lỗi logic
Mã:If tôi có tiền then
If msgbox("bạn có chắc muốn mua",vbYesNo) = vbYes then
tôi mua
End if
Else
tôi mua
End if
Có cách nào rút ngắn cú pháp của code trên không, bởi vì "tôi mua" xuất hiện 2 lần, mính muốn rút ngắn lại.
haonlh > 21-08-20, 11:39 PM
If tôi có tiền then
If msgbox("bạn có chắc muốn mua",vbYesNo) = vbYes then
tôi mua
End if
Else
tôi mua
End if
1 If đk1 then
2 If đk2 then
3 tôi mua
End If
4 Else
5 tôi mua
6 End if
đk1 đk2 lệnh dòng 3 lệnh dòng 5 Kết luận "Quy thành số"
True True chạy không chạy mua 3
True False không chạy không chạy không mua 2
False True không chạy chạy mua 1
False False không chạy chạy mua 0
Sub NC()
1 Dim dk1 as Boolean, dk2 as Boolean, N as Long
2 dk1= (msgbox("toi co tien?",vbYesNo) = vbYes)
3 If dk1 then dk2=(msgbox("ban co chac muon mua",vbYesNo) = vbYes)
4 N=-2*dk1 - dk2
5 If n<>2 Then Debug.Print "toi mua"
End Sub
Sub NCngan()
1 Dim N as Long
2 N= -2*(msgbox("toi co tien?",vbYesNo) = vbYes)
3 If N then N = N - (msgbox("ban co chac muon mua",vbYesNo) = vbYes)
5 If N<>2 Then Debug.Print "toi mua"
End Sub
Sub NCTuDong()
1 Dim dk1 as Long, dk2 as Long, N as Long
2 For dk1 = 0 to -1 step -1 '(Nếu là Turbo Pascal thì For dk1 = False to True Do ...)
N= -2* dk1
For dk2 = 0 to -1 step -1
N=N - dk2
5 If N <> 2 Then Debug.Print N, " Toi mua"
Next
Next
End Sub