Sub luu_noidung1()
' Buoc 1 tim dong cuoi
Dim DongCuoi As Long
DongCuoi = Sheet1.Range("G" & Rows.Count).End(xlUp).Row
' Buoc 2 luu noi dung tuong ung
'o B3 luu vao cot G
Range("G" & DongCuoi + 1).Value = Range("B3").Value
' o B4 luu vào cot H
Range("H" & DongCuoi + 1).Value = Range("B4").Value
' o B5 luu vao cot I
Range("I" & DongCuoi + 1).Value = Range("B5").Value
' Buoc 3 xoa noi dung da nhap
Range("B3:B5").ClearContents
MsgBox " thanh cong"
End Sub
Sub luu_noidung2()
' chi luu khi co noi dung trong o B3
If Range("B3").Value <> " " Then
Call luu_noidung1
End If
End Sub
Chào bạn
Code của bạn không sai nhé, bạn dubug xem đoạn code dừng lại đoạn nào nhé.
Trong câu lệnh này:
If Range("B3").Value <> " " Then
bạn đang viết với ý nghĩa là giá trị trong ô B3 khác dấu cách. Như vậy là sai về logic nhé.
Ký hiệu rỗng là hai dấu “” liền nhau.
Đó là lý do khi chạy sub2 thì sub1 luôn được chạy theo.