Tạo SheetForm nhập dữ liệu hàng ngày (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nguyentranduc1978

Unsurpassed Сasual Dating - Genuine Females
Tham gia
26/4/08
Bài viết
58
Được thích
4
Giới tính
Nam
Nghề nghiệp
Health
Được nghỉ em lập bài này, nhiều chuyên mục em không biết đăng ở đâu cho đúng nên min mod thấy sai thì chuyển giúp bài sang chuyên mục phù hợp
EM muốn làm file để quản lý và truy xuất CSDL, file: 1 VBA (ở sheet Nhap du lieu em đã có yêu cầu để nhờ giúp)
Có bác trên này đã hướng dẫn em nên làm theo file: 2 VBA dung SheetForm
Em định làm SheetForm để nhập dữ liệu như file 2 VBA dung SheetForm mà chưa đủ trình để làm, bác nào rảnh thì giúp em
Yêu cầu SheetForm các bác xem có hợp lý và làm được không, nhập liệu em thống kê và nhập một lần vào cuối ngày

Ngày nhập; tháng nhập; năm nhập: riêng để sau em lọc dữ liệu tiện theo tháng nhưng khác năm để so sánh …. Nếu ngày nghỉ không làm thì chọn nghỉ không nhập liệu nữa

1. Nhân công: Nhập mã số nhân viên làm trong ngày, lương ngày (lương ngày có thể thay đổi)

2. Vật liệu 1
  • VL1.1
  • VL1.2
  • VL1.3
  • ….. thêm bổ sung khi cần
3. Vật liệu 2
  • VL2.1
  • VL2.2
  • VL2.3
  • ….. (thêm bổ sung khi cần)
4. Vật liệu 3
  • VL3.1
  • VL3.2
  • VL3.3
  • ….. (thêm bổ sung khi cần)
5. Mặt bằng-Điện-Nước-CPK (mục này em có thể đưa vào sau vì mới chỉ là tạm tính khi chưa có hóa đơn thu hàng tháng)
  • MB (tạm tính)
  • Đ
  • N
  • CPK1
  • CPK2
  • CPK3
  • (thêm bổ sung khi cần)
6. Doanh thu:
  • Số bộ loại 1
  • Số bộ loại 2
  • Số bộ loại 3
  • (thêm bổ sung khi cần)
 

File đính kèm

Lần chỉnh sửa cuối:
EM ủn lên xem có cao thủ nào giúp được không
 
Upvote 0
Được nghỉ em lập bài này, nhiều chuyên mục em không biết đăng ở đâu cho đúng nên min mod thấy sai thì chuyển giúp bài sang chuyên mục phù hợp
.............................................
1. Nhân công: Nhập mã số nhân viên làm trong ngày, lương ngày (lương ngày có thể thay đổi)
.............................................
2. Vật liệu 1
.............................................
3. Vật liệu 2
.............................................
4. Vật liệu 3
.............................................
5. Mặt bằng-Điện-Nước-CPK (mục này em có thể đưa vào sau vì mới chỉ là tạm tính khi chưa có hóa đơn thu hàng tháng)
.............................................
6. Doanh thu:
.............................................
Chẳng hiểu, làm đại hên thì trúng, thực hiện công việc tuần tự như sau:
1/ Bước 1: Nhấn nút Mở Form Nhập VL (Form hiện ra), từ danh sách thả xuống Chọn 1 nhóm vật liệu và nhấn nút Lọc bảng giá, chọn các thứ cần nhập và nhấn nút Nhập giá.
Làm tuần tự cho các nhóm tiếp theo Chọn 1 nhóm vật liệu và nhấn nút Lọc bảng giá .

2/ Bước 2: Khi đã hoàn thành ở SheetForm thì nhấn nút Lưu Đơn hàng nó sẽ lưu dữ liệu vào Sheet Theo dõi. Khi lưu thì tại C3 nó tự động tăng cho số đơn hàng mới.

3/ Bước 3: Để nhập mới thì nhấn nút Xóa Vật Liệu, nó sẽ xóa vùng B8: G100

Tải lại File bài 5
 
Lần chỉnh sửa cuối:
Upvote 0
Chẳng hiểu, làm đại hên thì trúng, thực hiện cộng việc tuần tự như sau:
1/ Bước 1: Nhấn nút Mở Form Nhập VL (Form hiện ra), từ danh sách thả xuống Chọn 1 nhóm vật liệu và nhấn nút Lọc bảng giá, chọn các thứ cần nhập và nhấn nút Nhập giá.
Làm tuần tự cho các nhóm tiếp theo Chọn 1 nhóm vật liệu và nhấn nút Lọc bảng giá .

2/ Bước 2: Khi đã hoàn thành ở SheetForm thì nhấn nút Lưu Đơn hàng nó sẽ lưu dữ liệu vào Sheet Theo dõi. Khi lưu thì tại C3 nó tự động tăng cho số đơn hàng mới.

3/ Bước 3: Để nhập mới thì nhấn nút Xóa Vật Liệu, nó sẽ xóa vùng B8: G100
Em chạy thử khi lưu đơn hàng ở sheetform chỉ lưu được 14 dòng ở sheet Theo Doi. Nhiều hơn không chuyển được từ Sheetform sang. Bác xem lại code giúp em
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Kiểm tra lại File, thêm bao nhiều là tùy ý.
Em vừa chạy thử tuần tự làm như sau thì thấy có một số lỗi sau:
1. Nhập dữ liệu nhân công trước
2. Nhập VL_1 thì thấy chỉ hiển thị 7 mục VL trong khi có 10 mục trong VL_1loi1.png

Nếu thoát và nhấn Mở Form Nhập VL lại thì lại thấy hiển thị đủ 10 mục


3. Nhập VL_2 và VL_3: ok chưa thấy lỗi

4. Phần mềm diệt virus Bitfender xoá VBA vì tưởng là virus (chắc em xử lý được cái này)
 
Upvote 0
Em vừa chạy thử tuần tự làm như sau thì thấy có một số lỗi sau:
1. Nhập dữ liệu nhân công trước
2. Nhập VL_1 thì thấy chỉ hiển thị 7 mục VL trong khi có 10 mục trong VL_1View attachment 215376

Nếu thoát và nhấn Mở Form Nhập VL lại thì lại thấy hiển thị đủ 10 mục


3. Nhập VL_2 và VL_3: ok chưa thấy lỗi

4. Phần mềm diệt virus Bitfender xoá VBA vì tưởng là virus (chắc em xử lý được cái này)
Kiểm tra lại File.
 

File đính kèm

Upvote 0
Em cũng có coppy và chỉnh sửa một file excel tự chế biến thêm một Userform nhập liệu ở Sheet Lọc nhưng đánh vào thì oke thông báo nhập cũng hoàn thành nhưng dữ liệu nó ko có nhập vào sheet đó là sao vậy các anh em đã chọn sheet rồi mong các anh chỉ em sai chỗ nào, thank các anh trước chúc các anh và bạn 1 ngày tốt lành em đang tập học Vba ah mong các anh/bạn thông cảm.
Bài đã được tự động gộp:

Em cũng có coppy và chỉnh sửa một file excel tự chế biến thêm một Userform nhập liệu ở Sheet Lọc nhưng đánh vào thì oke thông báo nhập cũng hoàn thành nhưng dữ liệu nó ko có nhập vào sheet đó là sao vậy các anh em đã chọn sheet rồi mong các anh chỉ em sai chỗ nào, thank các anh trước chúc các anh và bạn 1 ngày tốt lành em đang tập học Vba ah mong các anh/bạn thông cảm.
 

File đính kèm

Upvote 0
Em cũng có coppy và chỉnh sửa một file excel tự chế biến thêm một Userform nhập liệu ở Sheet Lọc nhưng đánh vào thì oke thông báo nhập cũng hoàn thành nhưng dữ liệu nó ko có nhập vào sheet đó là sao vậy các anh em đã chọn sheet rồi mong các anh chỉ em sai chỗ nào, thank các anh trước chúc các anh và bạn 1 ngày tốt lành em đang tập học Vba ah mong các anh/bạn thông cảm.
Bài đã được tự động gộp:
Góp ý cho bạn:
1/ Bạn diễn giải tôi chẳng hiểu gì cả? Trong File có sheet hóa đơn tại sao không dùng sheet hóa đơn để nhập liệu vào 1 sheet theo dõi chung mà lại để riêng mỗi nhà cung cấp 1 sheet?
2/ Theo tôi với File này chỉ cần 4 sheet:
- 1 Sheet theo dõi chung tất cả nhà cung cấp.
- 1 Sheet làm hóa đơn: Dùng để in và nhập liệu vào Sheet theo dõi.
- 1 Sheet dùng tổng hợp các nhà cung cấp.
- 1 Sheet làm danh mục hàng hóa.
3/ Theo tôi, trường hợp của bạn thì không nên dùng UserForm để nhập liệu các sheet, mà chỉ dùng UserForm để tra hàng hóa và nhập liệu nhanh vào sheet hóa đơn.
 
Lần chỉnh sửa cuối:
Upvote 0
. . . . . . . . . . . . . . . .
Mình thật lòng khuyên bạn, là người mới bước vô VBA thì:
(1) Khai báo các tham biến tường minh hơn

(2) Tên các TextBox không nên lấy theo mặc định mà nên khoát cho nó cái tên dễ liên tưởng;
Ví dụ thây vì CommandButton1, ta nên gán tên CmdNhap
TextBox1 nên gán tên là tbNgay
. . . .
Việc này sẽ làm bạn rất tiết kiệm thời gian của mình

(3) Một khi bạn xài câu lệnh này: lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Thì trong các trang tính chứa dữ liệu không thể có dòng trống tại cột 'A' được.
Để kiểm tra câu lệnh đó, bạn hoàn toàn hoàn toàn có thể xài
MsgBox ActiveSheet.Name, , lastrow
Lúc đó bạn sẽ phát hiện ra những sai trái đang do đâu.
 
Lần chỉnh sửa cuối:
Upvote 0
Góp ý cho bạn:
1/ Bạn diễn giải tôi chẳng hiểu gì cả? Trong File có sheet hóa đơn tại sao không dùng sheet hóa đơn để nhập liệu vào 1 sheet theo dõi chung mà lại để riêng mỗi nhà cung cấp 1 sheet?
2/ Theo tôi với File này chỉ cần 4 sheet:
- 1 Sheet theo dõi chung tất cả nhà cung cấp.
- 1 Sheet làm hóa đơn: Dùng để in và nhập liệu vào Sheet theo dõi.
- 1 Sheet dùng tổng hợp các nhà cung cấp.
- 1 Sheet làm danh mục hàng hóa.
3/ Theo tôi, trường hợp của bạn thì không nên dùng UserForm để nhập liệu các sheet, mà chỉ dùng UserForm để tra hàng hóa và nhập liệu nhanh vào sheet hóa đơn.
Không anh tại mỗi sheet của em là một cty em theo dõi hàng hóa nhập vào của 4,5 cty mỗi cty có đề nghị riêng và hóa đơn xuất riêng, hàng hóa riêng nếu em làm chung một sheet thì nó sẽ rất nhiều dòng...mong anh chỉ dùm em file em sai chỗ nào, hiện tại em đang chế lại nhập xong, em sẽ chế thêm tìm kiếm tra hàng hóa trên đó lun..
Bài đã được tự động gộp:

Mình thật lòng khuyên bạn, là người mới bước vô VBA thì:
(1) Khai báo các tham biến tường minh hơn

(2) Tên các TextBox không nên lấy theo mặc định mà nên khoát cho nó cái tên dễ liên tưởng;
Ví dụ thây vì CommandButton1, ta nên gán tên CmdNhap
TextBox1 nên gán tên là tbNgay
. . . .
Việc này sẽ làm bạn rất tiết kiệm thời gian của mình

(3) Một khi bạn xài câu lệnh này: lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Thì trong các trang tính chứa dữ liệu không thể có dòng trống tại cột 'A' được.
Để kiểm tra câu lệnh đó, bạn hoàn toàn hoàn toàn có thể xài
MsgBox ActiveSheet.Name, , lastrow
Lúc đó bạn sẽ phát hiện ra những sai trái đang do đâu.
Thank anh đã góp ý để em sữa lại các tham biến
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu là mình thì mình sẽ phải viết như vầy:
PHP:
Private Sub CmdNhap_Click()
Dim ShName As String:                                            Dim lRw As Long

ShName = Me!cbTrT.Text
If ShName = Space(0) Then Exit Sub
With Worksheets(ShName)
    lRw = .Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    .Cells(lRw, "A").Value = .Cells(lRw - 1, "A").Value + 1
    .Cells(lRw, "B").Value = Me!tbNgay.Value:                   Me!tbNgay.Text = ""
    .Cells(lRw, "C").Value = Me!tbHD.Value:                      Me!tbHD.Text = ""
    .Cells(lRw, "D").Text = Me!tbNCC.Text:                      Me!tbNCC.Text = ""
'  . . . .             '
    .Cells(lRw, "H").Value = Me!tbSL.Value:                      Me!tbSL.Text = ""
' . . . . . . .                '
End With
End Sub
Mã:
Private Sub CommandButton2_Click()  'Nên Doi Tên        '
Unload UserForm1
End Sub
PHP:
Private Sub UserForm_Initialize()
With Me!cbTrT
    .AddItem "BienDong"
    .AddItem "VinhLong"
    .AddItem "BDHG"
    .AddItem "VPP"
    .AddItem "DongHa"
End With
End Sub
' . . . . . . . . * * * * * *'
 
Upvote 0
Cái vụ này mấy bài trên đâu có đá động gì đến đâu giờ lại phát sinh thêm.
Vì em dùng pivot table thấy có cái bất tiện là mỗi lần cần lấy dữ liệu hàng ngày phải chọn lại vùng dữ liệu và các mục theo form báo cáo. Nếu dùng lọc trực tiếp ở sheet theo_doi tiện hơn nhiều. Cái này em sử dụng mới thấy
 
Upvote 0
Vì em dùng pivot table thấy có cái bất tiện là mỗi lần cần lấy dữ liệu hàng ngày phải chọn lại vùng dữ liệu và các mục theo form báo cáo. Nếu dùng lọc trực tiếp ở sheet theo_doi tiện hơn nhiều. Cái này em sử dụng mới thấy
Ai nói bất tiện, viết code nó tự động lấy dữ liệu thêm.
 
Upvote 0
Anh ơi xem giúp dùm em tại sao em đánh theo đúng code của anh rồi nhưng nó vẫn ko chạy được, nếu em để mặc định các tham biến thì chỉ mở được nhưng ko nhập được anh xem giúp dùm em với thank anh nhiều
 

File đính kèm

Upvote 0
Khi nào anh rãnh thì anh xem giúp dùm em cái nhe anh thank anh
Ông già đó khó tính lắm (tui cũng giống ổng), bạn nên viết tiếng Việt rõ ràng, đúng chính tả, chứ viết nữa Tây nửa Ta như "thank anh, sorry anh ...", hay kiểu "xì tin" như "lun, ko..." ổng không "ngó" tới nữa đâu.
 
Lần chỉnh sửa cuối:
Upvote 0
Ông già đó khó tính lắm (tui cũng giống ổng), bạn nên viết tiếng Việt rõ ràng, đúng chính tả, chứ viết nữa Tây nửa Ta như "thank anh, sorry anh ...", hay kiểu "xì tin" như "lun, ko..." ổng không "ngó" tới nữa đâu.
Cảm ơn anh đã góp ý. Em sẽ chú ý hơn
 
Upvote 0

File đính kèm

  • truoc khi nhap moi.png
    truoc khi nhap moi.png
    90.5 KB · Đọc: 11
  • sau khi nhap sheet Theo_Doi.png
    sau khi nhap sheet Theo_Doi.png
    102.9 KB · Đọc: 11
  • sau khi nhap sheet Tong_Hop.png
    sau khi nhap sheet Tong_Hop.png
    97.1 KB · Đọc: 11
Upvote 0
Macro CmdNhap cần sửa lại là vầy:
PHP:
Private Sub CmdNhap_Click()
Dim ShName As String:                                            Dim lRw As Long
ShName = Me!cbSheet.Text
If ShName = Space(0) Then Exit Sub
With Worksheets(ShName)
    lRw = .Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    .Cells(lRw, "A").Value = .Cells(lRw - 1, "A").Value + 1
    .Cells(lRw, "B").Value = Me!tbNgay.Value:                   Me!tbNgay.Text = ""
    .Cells(lRw, "C").Value = Me!tbHD.Value:                     Me!tbHD.Text = ""
    .Cells(lRw, "D").Value = Me!tbNNHD.Text:                     Me!tbNNHD.Text = ""
    .Cells(lRw, "E").Value = Me!tbNcc.Text:                      Me!tbNcc.Text = ""
    .Cells(lRw, "F").Value = Me!tbTenHang.Text:                  Me!tbTenHang.Text = ""
    .Cells(lRw, "G").Value = Me!tbDvt.Text:                      Me!tbDvt.Text = ""
    .Cells(lRw, "H").Value = Me!tbSL.Text:                       Me!tbSL.Text = ""
    .Cells(lRw, "I").Value = Me!tbDN.Text:                       Me!tbDN.Text = ""
    .Cells(lRw, "J").Value = Me!tbNNHang.Text:                   Me!tbNNHang.Text = ""
    .Cells(lRw, "K").Value = Me!tbGC.Text:                       Me!tbGC.Text = ""
    .Cells(lRw, "L").Value = Me!tbXVC.Text:                      Me!tbXVC.Text = ""
    MsgBox "Nhâp Xong!", , "GPE.COM Xin Thông Báo!"
End With
End Sub
Cái này có phần lỗi do từ mình nữa, cảm phiền.
 
Upvote 0
Macro CmdNhap cần sửa lại là vầy:
PHP:
Private Sub CmdNhap_Click()
Dim ShName As String:                                            Dim lRw As Long
ShName = Me!cbSheet.Text
If ShName = Space(0) Then Exit Sub
With Worksheets(ShName)
    lRw = .Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    .Cells(lRw, "A").Value = .Cells(lRw - 1, "A").Value + 1
    .Cells(lRw, "B").Value = Me!tbNgay.Value:                   Me!tbNgay.Text = ""
    .Cells(lRw, "C").Value = Me!tbHD.Value:                     Me!tbHD.Text = ""
    .Cells(lRw, "D").Value = Me!tbNNHD.Text:                     Me!tbNNHD.Text = ""
    .Cells(lRw, "E").Value = Me!tbNcc.Text:                      Me!tbNcc.Text = ""
    .Cells(lRw, "F").Value = Me!tbTenHang.Text:                  Me!tbTenHang.Text = ""
    .Cells(lRw, "G").Value = Me!tbDvt.Text:                      Me!tbDvt.Text = ""
    .Cells(lRw, "H").Value = Me!tbSL.Text:                       Me!tbSL.Text = ""
    .Cells(lRw, "I").Value = Me!tbDN.Text:                       Me!tbDN.Text = ""
    .Cells(lRw, "J").Value = Me!tbNNHang.Text:                   Me!tbNNHang.Text = ""
    .Cells(lRw, "K").Value = Me!tbGC.Text:                       Me!tbGC.Text = ""
    .Cells(lRw, "L").Value = Me!tbXVC.Text:                      Me!tbXVC.Text = ""
    MsgBox "Nhâp Xong!", , "GPE.COM Xin Thông Báo!"
End With
End Sub
Cái này có phần lỗi do từ mình nữa, cảm phiền.
Anh ơi, anh xem giúp dùm em cái em đã sữa lại theo anh nhưng em vẫn không mở được nút nhập liệu trong Sheet (Loc), nó không mở được là sao vậy anh mong anh chỉ giúp dùm em cảm ơn anh
 

File đính kèm

Upvote 0
Anh ơi, anh xem giúp dùm em cái em đã sữa lại theo anh nhưng em vẫn không mở được nút nhập liệu trong Sheet (Loc), nó không mở được là sao vậy anh mong anh chỉ giúp dùm em cảm ơn anh
Mình còn tệ hơn, không những không mở được mà cố tình xóa nó đi cũng không được;
Trong file của mình, mở Form bằng tổ hợp 3 phím
 
Upvote 0
Mình còn tệ hơn, không những không mở được mà cố tình xóa nó đi cũng không được;
Trong file của mình, mở Form bằng tổ hợp 3 phím
Em đã xóa đi đánh lại theo code khác nó mở ra được useform để nhập liệu, nhưng em nhập liệu vào thì nó báo lỗi như hình ah anh, có cách nào giúp em khắc phục dùm xin chỉ dùm em cái nhe anh cảm ơn anh
 

File đính kèm

Upvote 0
File của bạn đang có ma ám; Ngay cả trang 'VPP' cũng tự nhiên ẩn đi 1 số dòng 1 cách không bình thường khi nhập thêm dữ liệu vô nó;
Cái trang 'Loc' gì đó nên bỏ đi
Chỉ 4 hay 5 trang ghì đó để nhập liệu thì bớt rườm rà gọi tên trang tính ra để nhập liệu sẽ đơn giản hơn.

Có nghĩa là với mình thì muốn nhập liệu vô trang nào đó thì bấm vô thanh SheetName để kích hoạt trang đó, sau đó bấm tổ hợp phím (do ta qui ước) để mở form mà nhập liệu lên trang đó luôn.
 
Upvote 0
Cảm ơn bác. Em test chạy ổn chưa thấy lỗi gì. Ở sheet Theo_Doi bác giúp em cột thành tiền (=Khối lượng x đơn giá) để em không phải làm hàm
Kiểm tra lại File.
Lưu ý:
- Cột F và G của SheetForm nếu không có dữ liệu thì nó không có kết quả nhân.
- Cột F tôi gán sẳn là 1, còn giá thì bạn phải tự thêm vào.

Do sửa lại code một tí nên tôi chuyển File xuống bài 37.
 
Lần chỉnh sửa cuối:
Upvote 0
Em đã xóa đi đánh lại theo code khác nó mở ra được useform để nhập liệu, nhưng em nhập liệu vào thì nó báo lỗi như hình ah anh, có cách nào giúp em khắc phục dùm xin chỉ dùm em cái nhe anh cảm ơn anh

Tham gia ý kiến chút nhé mọi người.
- Cái lỗi "object requre" là do bạn copy, tạo các control (textbox) mới nhưng không đặt tên (thuộc tính Name) cho nó như trong code nên code nó không biết tham chiếu đến cái control nào.
Vd: ..... = tbNgay.Value
- Xem lại thứ tự các cột trong Sheet để gán giá trị có đúng không.
- Bẫy lỗi tránh để trống dữ liệu cột nào bắt buộc nhập. Ví dụ: cột [Stt]: vì bạn tham chiếu dòng cuối của cột này để xác định dòng nhập kế tiếp, nếu để trống, dữ liệu mấy cột khác vẫn nhập thì sau khi mở form nhập mới, có thể sẽ bị ghi đè dữ liệu.
 
Lần chỉnh sửa cuối:
Upvote 0
File của bạn đang có ma ám; Ngay cả trang 'VPP' cũng tự nhiên ẩn đi 1 số dòng 1 cách không bình thường khi nhập thêm dữ liệu vô nó;
Cái trang 'Loc' gì đó nên bỏ đi
Chỉ 4 hay 5 trang ghì đó để nhập liệu thì bớt rườm rà gọi tên trang tính ra để nhập liệu sẽ đơn giản hơn.

Có nghĩa là với mình thì muốn nhập liệu vô trang nào đó thì bấm vô thanh SheetName để kích hoạt trang đó, sau đó bấm tổ hợp phím (do ta qui ước) để mở form mà nhập liệu lên trang đó luôn.
Em đã nhập được rồi anh nhưng có cách nào cho nó nhập xuống dòng cuối của dữ liệu được không anh nó chỉ nhập dòng đầu dữ liệu dài dài xuống ah, cảm ơn anh
Bài đã được tự động gộp:

Tham gia ý kiến chút nhé mọi người.
- Cái lỗi "object requre" là do bạn copy, tạo các control (textbox) mới nhưng không đặt tên (thuộc tính Name) cho nó như trong code nên code nó không biết tham chiếu đến cái control nào.
Vd: ..... = tbNgay.Value
- Xem lại thứ tự các cột trong Sheet để gán giá trị có đúng không.
- Bẫy lỗi tránh để trống dữ liệu cột nào bắt buộc nhập. Ví dụ: cột [Stt]: vì bạn tham chiếu dòng cuối của cột này để xác định dòng nhập kế tiếp, nếu để trống, dữ liệu mấy cột khác vẫn nhập thì sau khi mở form nhập mới, có thể sẽ bị ghi đè dữ liệu.
Cảm ơn bạn
Bài đã được tự động gộp:

Em đã nhập được rồi anh nhưng có cách nào cho nó nhập xuống dòng cuối của dữ liệu được không anh nó chỉ nhập dòng đầu dữ liệu dài dài xuống ah, cảm ơn anh
Bài đã được tự động gộp:


Cảm ơn bạn
 

File đính kèm

Upvote 0
Đã bảo là file của bạn có ma ám ở 1 vài trang tính mà!
Mình phát hiện thêm trang nữa ngoài 'VPP'; Đó là 'BienDong'
Phát hiện được thông qua macro như sau:
PHP:
Private Sub CommandButton1_Click()
 Dim Sh As Worksheet
TargetSheet = ComboBox1.Value
If TargetSheet = "" Then
    Exit Sub
End If
'Worksheets(TargetSheet).Activate       '
With Sheets(TargetSheet)
    LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox LastRow:                 Exit Sub
    .Cells(LastRow + 1, 1).Value = tbStt.Value
    .Cells(LastRow + 1, 2).Value = tbNgay.Value
    .Cells(LastRow + 1, 3).Value = tbHoadon.Value
    .Cells(LastRow + 1, 4).Value = tbNnhd.Value
    .Cells(LastRow + 1, 5).Value = tbNcc.Value
    .Cells(LastRow + 1, 6).Value = tbTenhang.Value
    .Cells(LastRow + 1, 7).Value = tbDvt.Value
    .Cells(LastRow + 1, 8).Value = tbSoluong.Value
    .Cells(LastRow + 1, 9).Value = tbDenghi.Value
    .Cells(LastRow + 1, 10).Value = tbNnh.Value
    .Cells(LastRow + 1, 11).Value = tbGhichu.Value
    MsgBox (" Da Nhâp Thành Công")
 End With
tbStt.Value = "":               tbNgay.Value = ""
tbHoadon.Value = "":        tbDvt.Value = ""
tbNnhd.Value = "":              tbNcc.Value = ""
tbTenhang.Value = "":       tbSoluong.Value = ""
tbDenghi.Value = "":        tbNnh.Value = ""
tbGhichu.Value = ""
' Worksheets("Loc").Activate
Worksheets("Loc").Cells(1, 1).Select
End Sub
Bạn chạy thử macro này xem có phải với 'BienDong' nó báo 257 Là con số trời ơi (TO)
Với 'VPP' nó báo 196 cũng là đất hỡi luôn!
 
Upvote 0
Kiểm tra lại File.
Lưu ý:
- Cột F và G của SheetForm nếu không có dữ liệu thì nó không có kết quả nhân.
- Cột F tôi gán sẳn là 1, còn giá thì bạn phải tự thêm vào.
EM dùng mấy hôm thì thấy chạy ổn nếu thực hiện đúng các bước.

Chỉ có lỗi này không biết là office bị lỗi hay xung đột của code nên em viết lại để anh biết. Lỗi này em cố tình làm lại vài lần trên vài máy thì lúc bị lúc không nên chắc là do office của em lỗi
1. Vào SheetForm
2. Mở Form Nhập VL
3. Chọn 1 nhóm VL
4. Lọc bảng giá (em quên bước này)
5. Nhập giá (EM thực hiện bước này) thì xảy ra lỗi và tự thoát khỏi excel nên không chụp ảnh màn hình được

P/s: trước em cũng định học VBA ở #11 nhưng cụ thể không ai trả lời nên em không học được. Nay nếu có lớp nào nhờ min, mod mail lịch học vào hòm thư thông báo em biết để em đăng ký: nguyentranduc2019@gmail.com
https://www.giaiphapexcel.com/diend...bản-tháng-7-16-23-và-30-7.127591/#post-801407
 
Upvote 0
EM dùng mấy hôm thì thấy chạy ổn nếu thực hiện đúng các bước.

Chỉ có lỗi này không biết là office bị lỗi hay xung đột của code nên em viết lại để anh biết. Lỗi này em cố tình làm lại vài lần trên vài máy thì lúc bị lúc không nên chắc là do office của em lỗi
1. Vào SheetForm
2. Mở Form Nhập VL
3. Chọn 1 nhóm VL
4. Lọc bảng giá (em quên bước này)
5. Nhập giá (EM thực hiện bước này) thì xảy ra lỗi và tự thoát khỏi excel nên không chụp ảnh màn hình được

P/s: trước em cũng định học VBA ở #11 nhưng cụ thể không ai trả lời nên em không học được. Nay nếu có lớp nào nhờ min, mod mail lịch học vào hòm thư thông báo em biết để em đăng ký: nguyentranduc2019@gmail.com
https://www.giaiphapexcel.com/diendan/threads/lớp-học-vba-cơ-bản-tháng-7-16-23-và-30-7.127591/#post-801407
1/ Tôi thay đổi cấu trúc 1 tí do không biết trước cột số cột F của SheetForm có số lượng là bao nhiêu nên khi nhập vật liệu xong thì bạn tự gõ số lượng vào rồi nhấn nút nhân giá.
2/ Các nút khác thì sử dụng như cũ.
 
Upvote 0
1/ Tôi thay đổi cấu trúc 1 tí do không biết trước cột số cột F của SheetForm có số lượng là bao nhiêu nên khi nhập vật liệu xong thì bạn tự gõ số lượng vào rồi nhấn nút nhân giá.
2/ Các nút khác thì sử dụng như cũ.
Thank bác, để em về test
 
Upvote 0
1/ Tôi thay đổi cấu trúc 1 tí do không biết trước cột số cột F của SheetForm có số lượng là bao nhiêu nên khi nhập vật liệu xong thì bạn tự gõ số lượng vào rồi nhấn nút nhân giá.
2/ Các nút khác thì sử dụng như cũ.
Bác xem giúp, em mở file mới làm,để máy tính một lúc khoảng 10 phút thì quay lại bị treo thế này (em thử mấy lần rồi)
 

File đính kèm

  • Loi 1.jpg
    Loi 1.jpg
    406.2 KB · Đọc: 10
Upvote 0

File đính kèm

Upvote 0
Đã bảo file có ma mà cố làm thì sẽ có ngày thôi, vô thùng rác!
 
Upvote 0

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

Back
Top Bottom