Theo mình nghĩ, cái này có thể tạo macro sự kiện tại 1 ô có Validation;
Ô Validation này có thể chọn 1 trong 3 trường hợp bạn nêu.
Sub GPE()
Dim eR
eR = ActiveCell.Row
If eR<11 Or eR>40 then Exit Sub
If Cells(eR, "B") <> "" And Cells(eR, "D") = "" Then
Cells(eR, "D") = Now()
ElseIf Cells(eR, "B") <> "" And Cells(eR, "D") <> "" And Cells(eR, "E") = "" Then
Cells(eR, "E") = Now()
ElseIf Cells(eR, "B") <> "" And Cells(eR, "D") <> "" And Cells(eR, "E") <> "" Then
If MsgBox("Dong du du lieu, ban can xoa", vbOKCancel, "XOA DONG DU LIEU") = vbOK _
Then Cells(eR, "B").Resize(, 4).ClearContents
Else
Exit Sub
End If
End Sub
Bạn thích chơi làm bằng Form ko ? Nếu thích mình làm giúp cho 1 cái form mà nhậpDạ, con cám ơn chú. Nhưng về code con còn yếu lắm nên chưa làm được ạ.
Bạn nêu yêu cầu hơi nhùng nhằng khó hiểu. Có lẽ theo tôi nên như sau.Khi nhấn nút sẽ tự kiểm tra và thực hiện:
1/Nếu dòng chọn trống cột B thì chẳng làm gì cả vì chưa có tên.
2/Nếu cột B có tên mà cột D trống thì điền giờ vào cột D.
3/Nếu cột B, D có dữ liệu thì điền giờ ra cột E.
4/Nếu cột B,D,E có đủ thì hỏi lại cho chắc trước khi xóa.
Bạn thử code sau
Mã:Sub GPE() Dim eR eR = ActiveCell.Row If eR<11 Or eR>40 then Exit Sub If Cells(eR, "B") <> "" And Cells(eR, "D") = "" Then Cells(eR, "D") = Now() ElseIf Cells(eR, "B") <> "" And Cells(eR, "D") <> "" And Cells(eR, "E") = "" Then Cells(eR, "E") = Now() ElseIf Cells(eR, "B") <> "" And Cells(eR, "D") <> "" And Cells(eR, "E") <> "" Then If MsgBox("Dong du du lieu, ban can xoa", vbOKCancel, "XOA DONG DU LIEU") = vbOK _ Then Cells(eR, "B").Resize(, 4).ClearContents Else Exit Sub End If End Sub
dùng button để xử lý, nếu muốn thêm thì insert button, copy code sửa tên Button tương tự 2 button mẩuVấn để tôi đã nêu chi tiết trong file, mong các anh, chị giúp đỡ. Chân thành cảm ơn.
Bài này gần giống với bài tuỳ chọn in của mìnhVấn để tôi đã nêu chi tiết trong file, mong các anh, chị giúp đỡ. Chân thành cảm ơn.
Thể theo yêu cầu của bạn, tôi thêm bằng 30 command button sử dụng chung 1 Macro có tham số.
Tham khảo file kèm
.Vâng, cám ơn anh. Vậy thì còn gì bằng, biết thêm 1 cách nữa cũng quá tốt.
Dạ, bị lỗi run_time error và vàng ở dòng này ạ Shapes.Range("Button " & i).TextFrame.Characters.Text = Cap
Kỳ thật, mình tải lại file chạy vẫn bình thường mà. Ai đó ghé qua bớt chút thời gian test giùm chút nha. Thank.
bạn làm như thế nào? vụ nầy phải làm đúng thao tác mới đượcSao mình làm mãi mà nó không được.
Private Sub Button[COLOR=#ff0000]1[/COLOR]_Click()
ActiveSheet.Shapes("Button [COLOR=#ff0000]1[/COLOR]").Select
Call Main
End Sub
Private Sub Button[COLOR=#ff0000]3[/COLOR]_Click()
ActiveSheet.Shapes("Button [COLOR=#ff0000]3[/COLOR]").Select
Call Main
End Sub
Bạn thay dòng lỗi màu vàng
Shapes.Range("Button " & i).TextFrame.Characters.Text = Cap
Bằng dòng sau là được
Sheet1.Shapes("Button " & i).TextFrame.Characters.Text = Cap
Mình sử dụng Exc 2010 nên không phát hiện khác biệt với các Ver trước phải nhờ máy khác mới biết, thông cảm nha.