Nhập và sửa dữ liệu bảng tính thông qua Form

Liên hệ QC

duyangels

Thành viên mới
Tham gia
7/2/10
Bài viết
49
Được thích
9
Nhờ các Bác hướng dẫn giúp làm code VBA trong Form nhập liệu tại Sheet NguonTTKH. Mình muốn Khi mở Form nhập liệu sẽ hiện danh sách khách hàng tại listbox danh sach khách hàng, sau đó chọn sẽ hiện các nội dung trong các Textbox bên dưới. Sau đó nếu muốn sữa thì thay đổi trong ô textbox tương ứng và click nút sữa dữ liệu là sữa được, Trường hợp thêm mới thì nhập vào textbox tương ứng và click nút thêm dữ liệu sẽ thêm vào bên dưới của bảng danh sách. Nếu file mẫu thiết kế chưa hợp lý chỗ nào các bác góp ý giúp mình, mình sẽ chỉnh sửa lại.
Chân thành cám ơn các bác trước!
 

File đính kèm

  • Quan ly cham soc khach hang.xls
    496.5 KB · Đọc: 186
Cảm ơn bác,.Về pivottable e chưa rành, còn về các name tp, quận, phường em đã tao bên sheet " DMDIACHI". e chủ yếu cần liên kết các quận, huyên, và phường xã của tp hcm ở phần địa chỉ hiện tại. còn phần noi sinh thì e có thể làm combox được . Cái checkbox làm sao được hả bác? Mong bác chỉ giáo
Bạn có thể tham khảo File trong bài viết của link sau (cách làm là tương tự ), bạn chọn Combo quận, huyện nào thì Combo phường xã sẽ hiện tên phường xã của huyện đó. Khi nào bạn làm không được thì tính sau:
https://www.giaiphapexcel.com/diendan/threads/theo-dõi-quyết-định-hũy-giấy-chứng-nhận-quyền-sử-dụng-đất.111191/
 
Lần chỉnh sửa cuối:
Upvote 0
mình có file nhập thông tin học sinh đã làm theo mẫu. giờ mình muốn khi chech và checkbox thì dấu x được lưu vào cột nữ khi khi ghi và cập nhật
Nhiều thứ thế, nhìn vào form cũng chả hiểu gì, sửa cho bạn một ý vậy.

Mã:
Private Sub CmdGhidulieu_Click()
    Dim j As Integer, EnRow As Long, Cont
    Dim vNu As Variant
    With Worksheets("DSHS")
        EnRow = .Range("B" & .Rows.Count).End(xlUp).Row
        If EnRow <= 4 Then
            EnRow = 5
        Else
            EnRow = EnRow + 1
        End If
    End With
    
    If ChkNU.Value = True Then
        vNu = "X"
    End If
    With UserForm1
        For j = 1 To 18
            Cont = Choose(j, EnRow - 4, .txtLOP.Text, .txtHovaten.Text, vNu, .txtNS.Text, .txtNOISINH.Text, .txtDANTOC.Text, .txtDiaChiXH.Text, .txtPHUONG.Text, .txtQUAN.Text, .txtTP.Text, .txtTENCHA.Text, .txtNGHECHA.Text, .txtSDTCHA.Text, .txtTENME.Text, .txtNGHEME.Text, .txtSDTME, .txtGHICHU.Text)
            Worksheets("DSHS").Cells(EnRow, j) = Cont
        Next j
    End With
End Sub
 
Upvote 0
Nhiều thứ thế, nhìn vào form cũng chả hiểu gì, sửa cho bạn một ý vậy.

Mã:
Private Sub CmdGhidulieu_Click()
    Dim j As Integer, EnRow As Long, Cont
    Dim vNu As Variant
    With Worksheets("DSHS")
        EnRow = .Range("B" & .Rows.Count).End(xlUp).Row
        If EnRow <= 4 Then
            EnRow = 5
        Else
            EnRow = EnRow + 1
        End If
    End With
   
    If ChkNU.Value = True Then
        vNu = "X"
    End If
    With UserForm1
        For j = 1 To 18
            Cont = Choose(j, EnRow - 4, .txtLOP.Text, .txtHovaten.Text, vNu, .txtNS.Text, .txtNOISINH.Text, .txtDANTOC.Text, .txtDiaChiXH.Text, .txtPHUONG.Text, .txtQUAN.Text, .txtTP.Text, .txtTENCHA.Text, .txtNGHECHA.Text, .txtSDTCHA.Text, .txtTENME.Text, .txtNGHEME.Text, .txtSDTME, .txtGHICHU.Text)
            Worksheets("DSHS").Cells(EnRow, j) = Cont
        Next j
    End With
End Sub
cảm ơn bác. e ko hiểu nhiều về VBA nên chế lại form cho cv của e thôi. From của e chủ yếu dung để nhập liệu thông tin hs vào trang excel , có thể " GHI DỮ LIỆU" , "TÌM KIẾM " hoặc " CHỈNH SỬA và CẬP NHẬT lại dữ liệu sau khi sửa thôi.
code bác sửa nếu bác nhập mới hs vào thì code chạy ok.Nhưng khi e nhập sai giới tính của 1 học sinh nam , giờ click "all" show toàn bộ list và click vào hs đó dữ liệu load vào form e sẽ bỏ "x" của hs này khi cập nhật dữ liệu phần giới tính không thấy thay đổi ( ko mất dấu x).
 
Upvote 0
cảm ơn bác. e ko hiểu nhiều về VBA nên chế lại form cho cv của e thôi. From của e chủ yếu dung để nhập liệu thông tin hs vào trang excel , có thể " GHI DỮ LIỆU" , "TÌM KIẾM " hoặc " CHỈNH SỬA và CẬP NHẬT lại dữ liệu sau khi sửa thôi.
code bác sửa nếu bác nhập mới hs vào thì code chạy ok.Nhưng khi e nhập sai giới tính của 1 học sinh nam , giờ click "all" show toàn bộ list và click vào hs đó dữ liệu load vào form e sẽ bỏ "x" của hs này khi cập nhật dữ liệu phần giới tính không thấy thay đổi ( ko mất dấu x).
Không rõ lắm, nhưng code trên chỉ mới áp dụng cho trường hợp cập nhật dữ liệu, còn các trường hợp khác thì bạn cứ theo hướng code đó mà xử lý.
 
Upvote 0
cảm ơn bác. e ko hiểu nhiều về VBA nên chế lại form cho cv của e thôi. From của e chủ yếu dung để nhập liệu thông tin hs vào trang excel , có thể " GHI DỮ LIỆU" , "TÌM KIẾM " hoặc " CHỈNH SỬA và CẬP NHẬT lại dữ liệu sau khi sửa thôi.
code bác sửa nếu bác nhập mới hs vào thì code chạy ok.Nhưng khi e nhập sai giới tính của 1 học sinh nam , giờ click "all" show toàn bộ list và click vào hs đó dữ liệu load vào form e sẽ bỏ "x" của hs này khi cập nhật dữ liệu phần giới tính không thấy thay đổi ( ko mất dấu x).
Nhưng mà đã ok chưa vậy, code nhìn mà hoảng.
 
Upvote 0
Nhưng mà đã ok chưa vậy, code nhìn mà hoảng.
e cũng tùy biến form của người khác chút thôi cho phù hợp cv của e bác ạ. nhưng nhìn chung vẫn chưa ổn. giờ nhu cầu của e là làm sao gõ một vài từ vào texbox "tìm kiếm theo họ tên " thì sẽ show ra họ tên trong listbox. nếu không có listboox trống. khi nhấn vào dõng dữ liệu trên listbox thì sẽ load dư liệu qua các texbox, và combox của form. sau khi sửa sẽ nhấn nút cập nhật. dữ liệu được cập nhật vào sheet "dshs". nếu nhấn nút cập nhật 2 lần kế tiếp không bị bào lỗi nữa. Hiện giờ đang lỗi nên e ko bt sửa sao. E muốn trong sheet "dshs" khi có dữ liệu nhập vào đến đâu thì sẽ boder cọt dòng đến đó. số thứ tự thì tự động nhảy liên tục từ dòng dữ liệu đầu tiên. E cũng ko rành đỗ dữ liệu từ checkbox sanh sheest nên chắc bỏ checkbox nữ thay bằng textbox vậy. mong bác giúp đỡ. cảm ơn bác. file e attch dưới
 

File đính kèm

  • FROM THU HO SO- 2019.xls
    136.5 KB · Đọc: 89
Lần chỉnh sửa cuối:
Upvote 0
e cũng tùy biến form của người khác chút thôi cho phù hợp cv của e bác ạ. nhưng nhìn chung vẫn chưa ổn. giờ nhu cầu của e là làm sao gõ một vài từ vào texbox "tìm kiếm theo họ tên " thì sẽ show ra họ tên trong listbox. nếu không có listboox trống. khi nhấn vào dõng dữ liệu trên listbox thì sẽ load dư liệu qua các texbox, và combox của form. sau khi sửa sẽ nhấn nút cập nhật. dữ liệu được cập nhật vào sheet "dshs". nếu nhấn nút cập nhật 2 lần kế tiếp không bị bào lỗi nữa. Hiện giờ đang lỗi nên e ko bt sửa sao. E muốn trong sheet "dshs" khi có dữ liệu nhập vào đến đâu thì sẽ boder cọt dòng đến đó. số thứ tự thì tự động nhảy liên tục từ dòng dữ liệu đầu tiên. E cũng ko rành đỗ dữ liệu từ checkbox sanh sheest nên chắc bỏ checkbox nữ thay bằng textbox vậy. mong bác giúp đỡ. cảm ơn bác. file e attch dưới
kiêmr tra inbox cho mình xin nguồn file gốc
nhá.
 
Upvote 0
e cũng tùy biến form của người khác chút thôi cho phù hợp cv của e bác ạ. nhưng nhìn chung vẫn chưa ổn. giờ nhu cầu của e là làm sao gõ một vài từ vào texbox "tìm kiếm theo họ tên " thì sẽ show ra họ tên trong listbox. nếu không có listboox trống. khi nhấn vào dõng dữ liệu trên listbox thì sẽ load dư liệu qua các texbox, và combox của form. sau khi sửa sẽ nhấn nút cập nhật. dữ liệu được cập nhật vào sheet "dshs". nếu nhấn nút cập nhật 2 lần kế tiếp không bị bào lỗi nữa. Hiện giờ đang lỗi nên e ko bt sửa sao. E muốn trong sheet "dshs" khi có dữ liệu nhập vào đến đâu thì sẽ boder cọt dòng đến đó. số thứ tự thì tự động nhảy liên tục từ dòng dữ liệu đầu tiên. E cũng ko rành đỗ dữ liệu từ checkbox sanh sheest nên chắc bỏ checkbox nữ thay bằng textbox vậy. mong bác giúp đỡ. cảm ơn bác. file e attch dưới
Bác đã làm được chưa, em cũng có cùng ý tưởng như bác, làm được bác cho em xin file với. thanks
 
Upvote 0
Tôi đã làm hiện được UserForm lên rồi còn cái (Chọn vào công việc hiện trong UserForm để tự chèn ra dòng tương ứng) trong bảng thì thực sự mù tịt ko làm được mong mọi người giúp đỡ. Xim cám ơn
 

File đính kèm

  • TIM KIEM VAT TU.xlsm
    615.8 KB · Đọc: 38
Upvote 0
 
Upvote 0
@nvduc2498 bác muốn file kiểu như thế nào? cái này hom trước có nhờ các bác trên diễn đàn trợ giúp, em cũng cải tiến chút ít phù hơp với công việc, nên không biết có gióng của bác không?
 

File đính kèm

  • FROM MAU.xlsm
    57 KB · Đọc: 90
Upvote 0
Upvote 0
Chào bạn nvduc2498,
Bạn có thể cho mình file mới của bạn dược không.
Cám ơn .
 
Upvote 0
mình bấm nút ALL các dữ liệu bên file nguoittkh hiện lên hết, nhưng khi click vào để dữ liệu hiện lên textbox thì báo KHÔNG CÓ MÃ HÀNG NÀY, , xin hổ trờh
 
Upvote 0
1619685371494.png

1619685588889.png


Mình học theo các Anh chị để viết code cho nút tìm kiếm. Nhưng sao nó cứ báo là không có mã khách hàng ạ? Không biết bị sai chỗ nào ạ? Mong chỉ giúp ạ.
Do em đang học để làm file nên file còn bị lộn xộn up lên sợ mọi người khó hiểu ạ, nên em mới chụp màn hình ạ
 
Upvote 0
Chưa rõ dòng tiêu đề của bạn đang mang số mấy nhưng câu lệnh
Set Rng = Sheets("TTKH").Range([B2], [B2].End( xlUp)) là sai;
Nếu Mã KH (khách hàng) là duy nhất cho từng người thì bạn sửa lại vầy (& có thể đúng)
PHP:
Set Rng = Sheets("TTKH").Range([B2], [B2].End( xlDown))
MsgBox Rng.Address, , "GPE.COM" 'Kiêm Tra Dia Chi Rng  '
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom