(1) Bạn đang có tới 7 cái Form; mà trong đó chí ít 3 Form có liên quan đến cập nhật. . . . Mình đang (1) tạo form Thêm, Sửa, Cập Nhật dữ liệu. Và đang bị vướng mắc phần Cập nhật dữ liệu sau khi sửa. Kính nhờ các pro code thêm giúp mình phần này ạ. Xin cảm ơn.
(Vui lòng xem file đính kèm)
Thường thì muốn cập nhật phải biết đang sửa dòng nào. Biết được dòng đang sửa là số mấy thì cập nhật giống như ghi dữ liệu mới thôi.Xin được giúp đỡ! Mình đang tạo form Thêm, Sửa, Cập Nhật dữ liệu. Và đang bị vướng mắc phần Cập nhật dữ liệu sau khi sửa. Kính nhờ các pro code thêm giúp mình phần này ạ. Xin cảm ơn.
(Vui lòng xem file đính kèm)
(1) Bạn đang có tới 7 cái Form; mà trong đó chí ít 3 Form có liên quan đến cập nhật
Vậy bạn cho biết đang cần giúp phần cập nhật dữ liệu (DL) sau khi sửa ở form cụ thể nào?
Thêm nữa, việc cập nhật này liên quan đến (những) trang tính nào vậy?
(2) E rằng các trang tính bạn chưa nhập nhiều dòng DL nên càng làm người có nhã ý giúp bạn sẽ khó hơn.
(2.1) Trước khi muốn 'sửa' thì phải tìm ra dòng DL cần sửa cái đã
Cũng sẽ vậy, cho chu trình câp nhật DL sau khi sửa đó bạn.
Chờ tin từ bạn
Lời của bác làm con tim em đau quá.Mấy ngwoif này trả lời hổng pơ-rô gì hết.
Pơ-rô cứ cắm cổ mà làm. Không đúng ý người hỏi thì sửa. Công chùa mờ.
Tôi thấy tuổi trẻ bây giờ không biết trọng tiếng mẹ đẻ, đi dùng tiếng Tây bồi, con tim tôi cũng "đau" không kém....
Lời của bác làm con tim em đau quá.
...
Tôi không phải là pro gì cả, tôi chỉ là 1 f0, khuyên bạn nên bỏ tật viết tắt và dùng tiếng Tây ta lẵn lộn.Xin lỗi vì ko đưa thông tin rõ ràng để mọi người xem giúp ạ! Mình xin bổ sung thông tin như sau:
1. Form mình cần sửa là "baocao_slht". Và cần viết lệnh cho button "cập nhật". Và việc cập nhật này sẽ cập nhật cho Sheet3(SLHT)
2. Ý tưởng trong form này của mình đang thực hiện như sau:
- B1: Click Chọn 1 hàng DL bất kỳ trong Listbox (DL trong listbox được lấy từ sheet3(SLHT) )
- B2: Click vào button "Sửa", thì nội dung cần sửa sẽ hiện lên trong các ô textbox có sẵn.
- B3: Sửa nội dung tại các ô textbox.
- B4: Click vào button "Cập nhật", nội dung đã sửa sẽ lưu đè lên hàng lúc đầu chọn trong list box và làm trống các DL trong textbox sau khi cập nhật.
Mình đã làm được tới bước 3. Riêng tới Bước 4 thì chịu thua ạ.
Tại mình thấy VBA rất hay và đang tập viết thôi ạ, nên logic chưa tốt + chưa học được nhiều nên rất mong được chỉ giáo thêm ạ.
Xin cảm ơn!
Public dong As Long
Private Sub CommandButton3_Click()
With Me
dong = .lb_slht.ListIndex + 2
.cbx_hm_baocao.Text = .lb_slht.List(.lb_slht.ListIndex, 3)
.cbx_tuan_baocao.Text = .lb_slht.List(.lb_slht.ListIndex, 9)
.txt_ngaybaocao.Text = .lb_slht.List(.lb_slht.ListIndex, 8)
.txt_KLbaocao.Text = .lb_slht.List(.lb_slht.ListIndex, 6)
.txt_DVbaocao = .lb_slht.List(.lb_slht.ListIndex, 4)
End With
End Sub
........
........
Private Sub CommandButton4_Click()
With Sheets("SLHT")
.Range("D" & dong) = cbx_hm_baocao
.Range("E" & dong) = txt_DVbaocao
.Range("G" & dong) = txt_KLbaocao
.Range("I" & dong) = txt_ngaybaocao
.Range("J" & dong) = cbx_tuan_baocao
End With
End Sub
Hiện tại trang 'SLHT' của bạn mới chỉ hơn chục mống dòng dữ liệu. . . . . . Mình xin bổ sung thông tin như sau:
1. Form mình cần sửa là "baocao_slht". Và cần viết lệnh cho button "cập nhật". Và việc cập nhật này sẽ cập nhật cho Sheet3(SLHT)
2. Ý tưởng trong form này của mình đang thực hiện như sau:
- B1: Click Chọn 1 hàng DL bất kỳ trong Listbox (DL trong listbox được lấy từ sheet3(SLHT) )
- B2: Click vào button "Sửa", thì nội dung cần sửa sẽ hiện lên trong các ô textbox có sẵn.
- B3: Sửa nội dung tại các ô textbox.
- B4: Click vào button "Cập nhật", nội dung đã sửa sẽ lưu đè lên hàng lúc đầu chọn trong list box và làm trống các DL trong textbox sau khi cập nhật.
Mình đã làm được tới bước 3. Riêng tới Bước 4 thì chịu thua ạ. . . . . .
Cảm ơn lời góp ý của bạn! Nó giúp mình nhìn được chiều sâu của vấn đề và các tồn đọng cần phải hoàn thiện. Trân trọng!!!Hiện tại trang 'SLHT' của bạn mới chỉ hơn chục mống dòng dữ liệu
Bạn sẽ phải tưởng tượng khi số dòng tăng lên đến 5 - 6 trăm thì lăn chuột mệt nghỉ đó nhỉ(!), trên cái ListBox thân thương của bạn;
& bạn cần thiết dự trữ thêm con chuột để có cái thay ngay lúc con chuột đang vận hành phản đối hành vi của bạn & đình công.
Bài trên của mình đã nêu vấn đề đó: Là làm sao tìm cho ra dòng cần thiết để sửa chữa đây, bạn?
Thường thì 1 danh sách nhân sự hay vật tư hàng hóa đều có cột [Mã], điều này bạn chưa có thì phải
(Khi đã có mã hiệu cho từng dòng dữ liệu thì trước khi muốn sửa dòng dữ liệu nào cần réo nó bằng VBA, chứ không phải bằng cách lăn chuột)
. . . . . Có nghĩa là vấn đề của bạn theo mình là lập 1 CSDL chuẩn cho trang tính 'SLHT' này trước đã!
Chứ như bây chừ viết bước 4 cho bạn là hại bạn thêm đó; Ai làm điều bạn iêu cầu là cố tình hại bạn đó, về lâu về dài, chả tốt lành gì đâu!
Mình chạy được rồi ạ! Cảm ơn đã hỗ trợ. Trân trọng!Tôi không phải là pro gì cả, tôi chỉ là 1 f0, khuyên bạn nên bỏ tật viết tắt và dùng tiếng Tây ta lẵn lộn.
Còn về code thì theo gợi ý của Anh @Maika8008 tôi đề nghị sửa thành thế này:
Chạy thửMã:Public dong As Long Private Sub CommandButton3_Click() With Me dong = .lb_slht.ListIndex + 2 .cbx_hm_baocao.Text = .lb_slht.List(.lb_slht.ListIndex, 3) .cbx_tuan_baocao.Text = .lb_slht.List(.lb_slht.ListIndex, 9) .txt_ngaybaocao.Text = .lb_slht.List(.lb_slht.ListIndex, 8) .txt_KLbaocao.Text = .lb_slht.List(.lb_slht.ListIndex, 6) .txt_DVbaocao = .lb_slht.List(.lb_slht.ListIndex, 4) End With End Sub ........ ........ Private Sub CommandButton4_Click() With Sheets("SLHT") .Range("D" & dong) = cbx_hm_baocao .Range("E" & dong) = txt_DVbaocao .Range("G" & dong) = txt_KLbaocao .Range("I" & dong) = txt_ngaybaocao .Range("J" & dong) = cbx_tuan_baocao End With End Sub
2. Ý tưởng trong form này của mình đang thực hiện như sau:
- B1: Click Chọn 1 hàng DL bất kỳ trong Listbox (DL trong listbox được lấy từ sheet3(SLHT) )
- B2: Click vào button "Sửa", thì nội dung cần sửa sẽ hiện lên trong các ô textbox có sẵn.
- B3: Sửa nội dung tại các ô textbox.
- B4: Click vào button "Cập nhật", nội dung đã sửa sẽ lưu đè lên hàng lúc đầu chọn trong list box và làm trống các DL trong textbox sau khi cập nhật.
Mình đã làm được tới bước 3. Riêng tới Bước 4 thì chịu thua ạ.