Xin hỏi cách tạo form nhập liệu tự động về các sheet có sẵn

Liên hệ QC

dodinhkhai

Thành viên mới
Tham gia
3/10/13
Bài viết
23
Được thích
0
Em chào các anh.
Em đang có nhu cầu thế này: Có danh sách học sinh các lớp với đầy đủ các thông tin cá nhân rồi. Trong quá trình học có thể thông tin đó được bổ sung. Có nhiều người cùng phải bổ sung thêm thông tin. Nếu 1 vài người thì mình có thể tìm tới mục của họ để điền thêm nhưng nếu mỗi lần thay đổi có khoảng 50 người thì tìm từng người một để thêm thông tin thì thật là vất vả.
Vậy nên e muốn hỏi các anh cách tạo 1 form nhập liệu như vậy.
Em đã tạo 1 file excel và trình bày rõ mục đích yêu cầu trong đó, mong các anh giúp đỡ!
 

File đính kèm

Em chào các anh.
Em đang có nhu cầu thế này: Có danh sách học sinh các lớp với đầy đủ các thông tin cá nhân rồi. Trong quá trình học có thể thông tin đó được bổ sung. Có nhiều người cùng phải bổ sung thêm thông tin. Nếu 1 vài người thì mình có thể tìm tới mục của họ để điền thêm nhưng nếu mỗi lần thay đổi có khoảng 50 người thì tìm từng người một để thêm thông tin thì thật là vất vả.
Vậy nên e muốn hỏi các anh cách tạo 1 form nhập liệu như vậy.
Em đã tạo 1 file excel và trình bày rõ mục đích yêu cầu trong đó, mong các anh giúp đỡ!

Một cách đơn giản nhất là tất cả các lớp nhập chung vào 1 sheet, muốn tìm em nào thì chọn cột đó và dùng chức năng Find, sau đó chọn em cần tìm rồi nhấn nút sang phải đến cột cần ghi thì gõ nhập vào.

Muốn tách lớp nào thì dùng AdvanFilter là xong, bạn sử dụng nhiều sheet chi cho phức tạp ra.
 
Upvote 0
Em chào các anh.
Em đang có nhu cầu thế này: Có danh sách học sinh các lớp với đầy đủ các thông tin cá nhân rồi. Trong quá trình học có thể thông tin đó được bổ sung. Có nhiều người cùng phải bổ sung thêm thông tin. Nếu 1 vài người thì mình có thể tìm tới mục của họ để điền thêm nhưng nếu mỗi lần thay đổi có khoảng 50 người thì tìm từng người một để thêm thông tin thì thật là vất vả.
Vậy nên e muốn hỏi các anh cách tạo 1 form nhập liệu như vậy.
Em đã tạo 1 file excel và trình bày rõ mục đích yêu cầu trong đó, mong các anh giúp đỡ!

1. Nhìn MHS thì thấy có vẻ là duy nhất trong toàn trường chứ không chỉ trong toàn lớp. Đúng thế?
2. "Khi bấm nút Nhập dữ liệu thì tự động tìm trong danh sách (nền vàng) xem học sinh đó là ai, lớp nào,…"
Nếu thế thì Form với danh sách (ListBox?) để làm gì? Đằng nào thì cũng nhập tất tần tật từ danh sách xuống các sheet Lớp. Vậy thì nhập luôn từ Sheet InputForm chứ tạo Form làm gì?
3. Tôi đề nghị thay vì "Lớp A" thì chỉ là A thôi. Lý do: "Lớp" là unicode. Lúc này gõ unicode dựng sẵn lúc khác gõ unicode tổ hợp thì code tèo. Mà có khi do sơ ý lại là "Lớp<2 dấu cách>C" thì code cũng tèo. Nói chung là nên hạn chế cơ hội rủi ro tới mức tối thiểu.
4. Bạn không nhất quán. A!G2, A!G3 và B!G2 có dấu phẩy ở cuối trong khi B!G5 không có. Tôi đề nghị xóa dấu phẩy ở cuối.
 
Upvote 0
Một cách đơn giản nhất là tất cả các lớp nhập chung vào 1 sheet, muốn tìm em nào thì chọn cột đó và dùng chức năng Find, sau đó chọn em cần tìm rồi nhấn nút sang phải đến cột cần ghi thì gõ nhập vào.

Muốn tách lớp nào thì dùng AdvanFilter là xong, bạn sử dụng nhiều sheet chi cho phức tạp ra.
Nếu gộp thành 1 sheet thì câu chuyện trở thành dễ dàng hơn nhiều rồi nhưng e lại phải làm việc với nhiều sheet như vậy cơ :(
 
Upvote 0
1. Nhìn MHS thì thấy có vẻ là duy nhất trong toàn trường chứ không chỉ trong toàn lớp. Đúng thế?
2. "Khi bấm nút Nhập dữ liệu thì tự động tìm trong danh sách (nền vàng) xem học sinh đó là ai, lớp nào,…"
Nếu thế thì Form với danh sách (ListBox?) để làm gì? Đằng nào thì cũng nhập tất tần tật từ danh sách xuống các sheet Lớp. Vậy thì nhập luôn từ Sheet InputForm chứ tạo Form làm gì?
3. Tôi đề nghị thay vì "Lớp A" thì chỉ là A thôi. Lý do: "Lớp" là unicode. Lúc này gõ unicode dựng sẵn lúc khác gõ unicode tổ hợp thì code tèo. Mà có khi do sơ ý lại là "Lớp<2 dấu cách>C" thì code cũng tèo. Nói chung là nên hạn chế cơ hội rủi ro tới mức tối thiểu.
4. Bạn không nhất quán. A!G2, A!G3 và B!G2 có dấu phẩy ở cuối trong khi B!G5 không có. Tôi đề nghị xóa dấu phẩy ở cuối.
1. Đúng là mỗi học sinh có 1 mã học sinh riêng, ko thể trùng nhau.
2. E hình dung trong đầu là mọi thứ sẽ như thế và cần phải tạo 1 nút bấm là "Nhập" để khi ấn vào đó excel sẽ tự biết tìm tới em học sinh đó để điền tên hoạt động vào tiếp phần Hoạt động đang có sẵn.
3. Việc góp ý đặt tên thế là đúng ạ, em quên mất vụ dấu unicode, em sẽ sửa.
4. Dấu phẩy đó mục đích là để phân biệt các hoạt động, có thể bỏ cũng được ạ nhưng miễn sao khi nhập vào thì có dấu phẩy phân cách các hoạt động ra. Ví dụ ban đầu cell A!G2 đang là "Hoạt động A, hoạt động B" thì sau khi ấn nút NHập sẽ thành "Hoạt động A, hoạt động B, hoạt động C".
Em không biết cách làm sao để tạo chức năng tự động như vậy nên mong được hướng dẫn ạ! Em cảm ơn.
 
Upvote 0
1. Đúng là mỗi học sinh có 1 mã học sinh riêng, ko thể trùng nhau.
2. E hình dung trong đầu là mọi thứ sẽ như thế và cần phải tạo 1 nút bấm là "Nhập" để khi ấn vào đó excel sẽ tự biết tìm tới em học sinh đó để điền tên hoạt động vào tiếp phần Hoạt động đang có sẵn.
3. Việc góp ý đặt tên thế là đúng ạ, em quên mất vụ dấu unicode, em sẽ sửa.
4. Dấu phẩy đó mục đích là để phân biệt các hoạt động, có thể bỏ cũng được ạ nhưng miễn sao khi nhập vào thì có dấu phẩy phân cách các hoạt động ra. Ví dụ ban đầu cell A!G2 đang là "Hoạt động A, hoạt động B" thì sau khi ấn nút NHập sẽ thành "Hoạt động A, hoạt động B, hoạt động C".
Em không biết cách làm sao để tạo chức năng tự động như vậy nên mong được hướng dẫn ạ! Em cảm ơn.

Bạn thử test tập tin đính kèm bên dưới.
Tôi hướng dẫn để bạn biết phải làm thế nào trong tương lai
1. Mở tập tin dưới
2. Alt + F11 --> phải chuột trên Module1 --> Export File --> chọn nơi ghi Module1
3. Trong tương lai bạn có tập tin dữ liệu thực thì: mở tập tin thực --> Alt + F11 --> File --> Inport --> duyệt tới Module1 để thêm --> đặt Button trên sheet InputForm và gán cho nó Macro WriteData

Tên Module1 nên đổi cho sát với nội dung của nó.
Cấu trúc dữ liệu phải giữ nguyên: dữ liệu bặt đầu từ dòng nào, cột nào, số và thứ tực các cột v...v
 

File đính kèm

Upvote 0
Bạn thử test tập tin đính kèm bên dưới.
Tôi hướng dẫn để bạn biết phải làm thế nào trong tương lai
1. Mở tập tin dưới
2. Alt + F11 --> phải chuột trên Module1 --> Export File --> chọn nơi ghi Module1
3. Trong tương lai bạn có tập tin dữ liệu thực thì: mở tập tin thực --> Alt + F11 --> File --> Inport --> duyệt tới Module1 để thêm --> đặt Button trên sheet InputForm và gán cho nó Macro WriteData

Tên Module1 nên đổi cho sát với nội dung của nó.
Cấu trúc dữ liệu phải giữ nguyên: dữ liệu bặt đầu từ dòng nào, cột nào, số và thứ tực các cột v...v
Em cảm ơn anh nhiều! Đúng ý em luôn.
Em sẽ tìm hiểu đoạn code này để áp dụng cho vấn đề của mình. Trong quá trình làm nếu có vấn đề gì chưa rõ mong a sẽ tiếp tục chỉ bảo.
 
Upvote 0
Anh siwtom ơi cho em hỏi.
Trong 1 cell nếu muốn xuống dòng thì thường là nhấn Alt + Enter.
Vậy trong code VB này thì làm sao để mỗi lần mình ấn Nhập nó sẽ tự động xuống dòng.
Ví dụ:
"Hoạt động A, Hoạt động B" thì sẽ là:
"Hoạt động A,
Hoạt động B"
Em cảm ơn.
 
Upvote 0
Anh siwtom ơi cho em hỏi.
Trong 1 cell nếu muốn xuống dòng thì thường là nhấn Alt + Enter.
Vậy trong code VB này thì làm sao để mỗi lần mình ấn Nhập nó sẽ tự động xuống dòng.
Ví dụ:
"Hoạt động A, Hoạt động B" thì sẽ là:
"Hoạt động A,
Hoạt động B"
Em cảm ơn.

Trong Sub WriteData bạn tìm dòng
Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & ", " & chuongtrinh

và thay bằng (giống như trên sheet Alt + Enter)
Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & "," & vbLf & chuongtrinh

hoặc bằng ... cũng được

Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & "," & vbCrLf & chuongtrinh
 
Upvote 0
Trong Sub WriteData bạn tìm dòng
Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & ", " & chuongtrinh

và thay bằng (giống như trên sheet Alt + Enter)
Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & "," & vbLf & chuongtrinh

hoặc bằng ... cũng được

Mã:
rng.Offset(, 6).Value = rng.Offset(, 6) & "," & vbCrLf & chuongtrinh
Em cảm ơn anh nhiều!
 
Upvote 0
Em đã làm lại từ file trắng và đã ra rồi!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
em mới làm nhờ các anh chị trong diễn đàn giúp em với ạ, em có 1 file về nhập hàng LTTP theo thứ tự từ ngày 1 đến 31 hàng tháng, trong đó cứ 5 ngày tổng hợp 1 lần, và 1 mặt hàng lại tương ứng 1 sheet, em muốn nhờ anh chị giúp em tạo form nhập liệu cho nhanh với ạ, em cám ơn ạ
 

File đính kèm

Upvote 0
Em mới làm nhờ các anh chị trong diễn đàn giúp em với ạ, em có 1 file về nhập hàng LTTP theo thứ tự từ ngày 1 đến 31 hàng tháng, trong đó cứ 5 ngày tổng hợp 1 lần, và 1 mặt hàng lại tương ứng 1 sheet, em muốn nhờ anh chị giúp em tạo form nhập liệu cho nhanh với ạ, em cám ơn ạ
Nếu là mình thì mình sẽ xây dững 1 CSDL theo các trang như sau:
1. Trang 'DMuc' gồm các bảng (Table)
1.a Bảng danh mục đơn vị, gồm các trường [Mã DV], [Tên ĐV], . . . ([Ghi chú]}
1b Danh mục các mặt hàng
PHP:
Mã HH    Tên hàng   ĐVT    (Tồn ĐN)
LTG01   Giạo tẻ      Kg     4.202
GVM00   Muối         Kg     13.5
TFTB0   Thịt bò      Kg      0.85
TFTL9   Thịt mỡ (heo)Lít    123
TFTHA   Thị mông     Kg     0.5
. . . .      . . . ..   . .  . . .
1c (Nếu cần) Danh mục các nhà cung cấp

2A Trang quan trọng ghi dữ liệu nhập, gồm
[Ngày], [Nhà CC], [Mã HH], [Số lượng],. . . . [Ghi chú]
2B Trang quan trọng nữa là trang 'Xuat'
[Ngày], [Số Phiếu], . . . . .

Một khi có 1 thiết kế CSDL như thế thì xử lý số liệu trong tháng hay trong năm đều được

Rất vui nếu được tiếp tục trao đổi cùng bạn theo hướng này
 
Upvote 0
Nếu là mình thì mình sẽ xây dững 1 CSDL theo các trang như sau:
1. Trang 'DMuc' gồm các bảng (Table)
1.a Bảng danh mục đơn vị, gồm các trường [Mã DV], [Tên ĐV], . . . ([Ghi chú]}
1b Danh mục các mặt hàng
PHP:
Mã HH    Tên hàng   ĐVT    (Tồn ĐN)
LTG01   Giạo tẻ      Kg     4.202
GVM00   Muối         Kg     13.5
TFTB0   Thịt bò      Kg      0.85
TFTL9   Thịt mỡ (heo)Lít    123
TFTHA   Thị mông     Kg     0.5
. . . .      . . . ..   . .  . . .
1c (Nếu cần) Danh mục các nhà cung cấp

2A Trang quan trọng ghi dữ liệu nhập, gồm
[Ngày], [Nhà CC], [Mã HH], [Số lượng],. . . . [Ghi chú]
2B Trang quan trọng nữa là trang 'Xuat'
[Ngày], [Số Phiếu], . . . . .

Một khi có 1 thiết kế CSDL như thế thì xử lý số liệu trong tháng hay trong năm đều được

Rất vui nếu được tiếp tục trao đổi cùng bạn theo hướng này
em cám ơn ạ, anh có thể tạo giúp e mẫu như thế ko ạ?em còn hạn chế về VBA lắm ạ, anh giúp em với
 
Upvote 0
em cám ơn ạ, anh có thể tạo giúp e mẫu như thế ko ạ?em còn hạn chế về VBA lắm ạ, anh giúp em với
Bạn xem file & bổ sung vài mặt hàng thực tế ở đơn vị bạn;
Sau đó ta tiến hành sang bước nhập hàng:
Bạn mô tả quá trình nhập dữ liệu, chúng ta sẽ thiết kế tới trang 'Nhap'

(Đã tháo file đính kèm; Xin mời các bạn xem file bài dưới tiếp theo)
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn xem file & bổ sung vài mặt hàng thực tế ở đơn vị bạn;
Sau đó ta tiến hành sang bước nhập hàng:
Bạn mô tả quá trình nhập dữ liệu, chúng ta sẽ thiết kế tới trang 'Nhap'
thầy ơi trên file cũa LTTP e gửi thầy là có thứ tự từng mặt hàng xuất cho đơn vị, e muốn tạo 1 form để nhập đc cho tất cả các sheet có nội dung bên trong tương tự nhau: ví dụ như P.thịt, P. giá đỗ, P.trứng......
 
Upvote 0
Vậy ở đơn vị bạn là nhập hàng về thì xuất thẳng cho các đơn vị luôn hay sao?
Thường thì nhập hàng vô kho rồi xuất cho các đơn vị chứ nhỉ?
Mình hỏi vậy vì 2 hướng này có cách giảu quyết khác nhau à nha.
 
Upvote 0
Vậy ở đơn vị bạn là nhập hàng về thì xuất thẳng cho các đơn vị luôn hay sao?
Thường thì nhập hàng vô kho rồi xuất cho các đơn vị chứ nhỉ?
Mình hỏi vậy vì 2 hướng này có cách giảu quyết khác nhau à nha.
Dạ bên e là nhập hàng về xong cấp trực tiếp luôn cho đơn vị hết ạ
Bên e không để lại tồn kho mà đảm bảo thực phẩm tươi sống luôn ạ
 
Upvote 0
Bạn thử thao tác với form nhập/xuất này & đối chiếu với cách làm lâu nay của ĐV bạn có gì cần điều chỉnh

(Thay file mói lúc 08:09 & xin mời xem file ở những bài tiếp sau)
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom