Code cho nút Sửa:
Private Sub btnEdit_Click()
On Error Resume Next
g = 0
Do
DoEvents
g = g + 1
p = Sheet1.Range("a" & g)
If p = txtMa.Text Then
txtDate.Text = Sheet1.Range("b" & g)
txtTen.Text = Sheet1.Range("c" & g)
txtNgaysinh.Text = Sheet1.Range("d" & g)
txtNghenghiep.Text = Sheet1.Range("e" & g)
txtDiachi.Text = Sheet1.Range("f" & g)
End If
Loop Until p = ""
End Sub
Code cho nút Xóa:
Private Sub btnDelete_Click()
On Error Resume Next
g = 0
Do
DoEvents
g = g + 1
p = Sheet1.Range("a" & g)
If p = txtMa.Text Then
Sheet1.Range("a" & g).Select
Selection.Delete
Sheet1.Range("b" & g).Select
Selection.Delete
Sheet1.Range("c" & g).Select
Selection.Delete
Sheet1.Range("d" & g).Select
Selection.Delete
Sheet1.Range("e" & g).Select
Selection.Delete
Sheet1.Range("f" & g).Select
Selection.Delete
End If
Loop Until p = ""
Form1.txtMa.SetFocus
End Sub
Code cho nút Cập nhật:
Private Sub CommandButton1_Click()
On Error Resume Next
g = 0
Do
DoEvents
g = g + 1
p = Sheet1.Range("a" & g)
If p = txtMa.Text Then
Sheet1.Range("b" & g) = txtDate.Text
Sheet1.Range("c" & g) = txtTen.Text
Sheet1.Range("d" & g) = txtNgaysinh.Text
Sheet1.Range("e" & g) = txtNghenghiep.Text
Sheet1.Range("f" & g) = txtDiachi.Text
End If
Loop Until p = ""
Form1.txtMa.SetFocus
End Sub
16 Nhận xét
Chào bạn, cảm ơn bạn về các bài hướng dẫn này. Tuy nhiên mình làm theo chưa được, theo mình thấy đang có vấn đề ở chỗ txtma ấy, sang bài này mình thấy bạn đã edit txtma được đánh số tự động. Bạn có thể chỉ giúp mình cách đánh số tự động và xem lại giúp mình bài này dc ko, thanks bạn
ReplyChào bạn, thực ra mình đã thử chuyển cột STT nhập tự động nhưng lại gây ra một lỗi khác đó là không thể tìm và sửa các cột còn lại nếu số tt được nhập tự động, thứ hai là nếu để số tt tự động thì khi ta xóa dữ liệu sẽ gây ra lỗi dữ liệu. Nên mình cũng chỉ nhập thủ công thôi cho lành, mình để trên form vậy thôi chứ vẫn nhập stt thủ công thôi bạn ạ
ReplyCHO MINH XIN CODE THOAT
ReplyChào bạn.... mình làm theo bài bạn hướng dẫn nhưng khi nhấn Cập Nhật thì nó chỉ thay đổi ở cột B thôi, còn cột C,D,E,F không thay đổi
ReplyThầy ơi cho em xin code đóng file cảm ơn thầy nhiều
Replyhi AD, đã làm theo như AD làm và copy đoạn code luôn nhưng vẫn không hoạt động được nút sửa và cập nhật. mong AD chỉ giúp
Replymforrm1.Hide code đóng nhé
Replybạn cho mình xin file về tham khảo với. Email: quocbinh.ga@gmail.com
ReplyXin chào AD. Bạn có thể cho mình xin file về tham khảo được không ? Xin cảm ơn bạn Trước.| Email: giusehoangtan@gmail.com
ReplyXin chào tác giả, mình làm theo video VBA Excel thực hành Bài 6 - Sửa, xóa dữ liệu trong VBA, nhưng chưa được, nó báo lỗi, mình chưa hiểu g và p là gì, lấy ở đâu, khai báo như thế nào? Rất mong tác giả giúp đỡ.
ReplyChào bạn PHAMNHA, bạn cần kiểm tra kỹ các tên thuộc tính của các điều khiển trên form với định danh tên các điều khiển trên Code. Còn g và p là hai biến trong đó g là chỉ số hàng trên excel, p nhận giá trị của một ô tại Cột A hàng g (p=sheet1.range("a"&g)). Tại sự kiện Sửa nội dung Code được hiểu như sau: cho biến g gán giá trị đầu bằng 0, biến p nhận một giá trị tại Cột A hàng g, thực hiện vòng lặp Do với mỗi vòng lặp tăng giá trị g lên 1 đơn vị (g=g+1) tới khi đáp ứng điều kiện thì vòng lặp kết thúc, mà điều kiện ở đây là khi giá trị tại ô nhập txtMa trùng với một ô tại Cột A hàng g tức là khi đó điều kiện p=txtMa.TEXT đã xẩy ra thì vòng lặp dừng đồng thời truy xuất các dữ liệu tại các cột B, C, D, E, F hàng g lên form với các trường tương ứng. Ta thấy trường thông tin tại Cột A là mã tham chiếu nên ta không thể sửa cột này. Các sự kiện khác cũng cách hiểu tương tự nhé bạn.
ReplyMình vẫn chưa làm được, Thầy giáo có thể giúp thêm được không.
ReplyMình có 1 form, trên đó có
- 1 textbox1 và textbox2 để nhập liệu, giá trị sau khi nhập được lưu vào sheet1
- 1 textbox3 để nhập tìm kiếm
- 1 listbox để hiển khi textbox3 được nhập giá trị
- 1 nút nhập mới, 1 nút sửa, 1 nút xóa
khi tìm kiếm và chọn giá trị trong listbox, các giá trị hiện lên textbox1 và 2, để xóa được các giá trị trong textbox1 và 2 (giá trị này tương ứng với cột A và B của sheet1, vùng dữ liệu trong sheet1 từ A3 : B2000) thì làm thế nào thầy nhỉ?
cho hỏi tại sao lại dùng "a,b,c" mà không phải là "A,B,C" ý là chữ hoa với thương khi viết lệnh cho nút cập nhật với xóa đó ạ
ReplyNếu bạn thực sự quan tâm đến nội dung bài viết xin để lại những ý kiến đóng góp vào khung bên dưới. Mỗi ý kiến đóng góp của độc giả là những chỉ dẫn quý báo để chúng tôi cung cấp những nội dung hữu ích hơn tới độc giả.