Tạo Form nhập liệu vào vùng bất kỳ trong worksheets & tự động định dạng vùng nhập lệu (1 người xem)

Liên hệ QC

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

DuongPhjDuong

Thành viên mới
Tham gia
22/10/10
Bài viết
15
Được thích
1
Ở đây vùng nhập liệu ở vị trí bất kỳ trong worksheets. Vùng nhập liệu phụ thuộc vào giá trị n (nguyên dương).
Mọi người giúp mình tạo ra 1 form nhập liệu ( bằng userform) nhập vào vùng dữ liệu như ví dụ file kèm theo ( cell chứa "STT" được cố định).
Và tự động insert hay delete Row nếu dữ liệu cũ không phù hợp với dữ liệu mới, tức là số hàng trong vùng nhập liệu luôn luôn là n Row ( Đây là ý tưởng của mình không biết có làm được không ?). File kèm có 3 sheet là minh họa cho 3 lần nhập liệu với n thay đổi.
Mình mới tập tành viết VBA nên nếu có thể thì giúp mình giảii thích rõ ý nghĩa các đoạn code. CẢM ƠN TẤT CẢ MỌI NGƯỜI!
 

File đính kèm

Ở đây vùng nhập liệu ở vị trí bất kỳ trong worksheets. Vùng nhập liệu phụ thuộc vào giá trị n (nguyên dương).
Mọi người giúp mình tạo ra 1 form nhập liệu ( bằng userform) nhập vào vùng dữ liệu như ví dụ file kèm theo ( cell chứa "STT" được cố định).
Và tự động insert hay delete Row nếu dữ liệu cũ không phù hợp với dữ liệu mới, tức là số hàng trong vùng nhập liệu luôn luôn là n Row ( Đây là ý tưởng của mình không biết có làm được không ?). File kèm có 3 sheet là minh họa cho 3 lần nhập liệu với n thay đổi.
Mình mới tập tành viết VBA nên nếu có thể thì giúp mình giảii thích rõ ý nghĩa các đoạn code. CẢM ƠN TẤT CẢ MỌI NGƯỜI!

Bạn muốn dùng UserForm để nhập liệu cho bất kỳ sheet thì cũng được nhưng Code hơi phức tạp, thông thường người ta dùng mỗi UserForm cho 1 sheet. Để đơn giản bạn nên dùng DataForm, thực hiện bằng cách click vào tiêu đề cột của bất kỳ sheet, từ menu vào Data > Form sẽ xuất hiện Form nhập liệu, bạn click vào nút New để nhập mới, click vào Delete để xóa dòng.
 
Upvote 0
Cảm ơn bạn rất nhiều. Theo cách hướng dẫn của bạn thì hình như bạn chưa hiểu rõ câu hỏi của mình.
Thực ra mình chỉ nhập dữ liệu vào 1 sheet duy nhat mà thôi, 3 sheet 3 mình đưa ra đó chỉ là hình minh họa cho 3 lần nhập liệu với n thay đổi. Nếu bạn hay tất cả mọi người có cách gì hay thì chỉ giúp mình với. Cảm ơn.
 
Upvote 0
Thực ra mình chỉ nhập dữ liệu vào 1 sheet duy nhat mà thôi, 3 sheet 3 mình đưa ra đó chỉ là hình minh họa cho 3 lần nhập liệu với n thay đổi. Nếu bạn hay tất cả mọi người có cách gì hay thì chỉ giúp mình với. Cảm ơn.

Câu này có vẻ mâu thuẫn với ý ban đầu:
Ở đây vùng nhập liệu ở vị trí bất kỳ trong worksheets. Vùng nhập liệu phụ thuộc vào giá trị n (nguyên dương).
Nhập vào 1 sheet duy nhất và tại 1 vị trí cố định (trong ví dụ của bạn là ô D12 của cả 3 sheet), vậy n chỉ là số dòng trong vùng dữ liệu.
Suy ra, thay đổi n để làm gì (giả sử lúc đầu n = 8, sau đó n=4 thế thì 4 dòng dữ liệu bị mất à???)
Tôi nghĩ là ý của bạn có thể là tạo form để nhập/cập nhật dữ liệu chăng?
Ngoài ra, thế nào là:
nếu dữ liệu cũ không phù hợp với dữ liệu mới
Đọc bài của bạn mãi mà vẫn không hiểu được ý muốn thật sự của bạn.
 
Upvote 0
"
[h=2]Tạo Form nhập liệu vào vùng bất kỳ trong worksheets & tự động định dạng vùng nhập lệu"[/h]câu này thực sự khó khi dùng userform. nhập vào vùng " bất kỳ " là vùng nào, dữ liệu đầu nhập 1 chỗ, dữ liệu lần sau lại ở một chỗ khác à...!$@!!
 
Upvote 0
Cảm ơn mọi người quan tâm giúp mình xem xét vấn đề. Mình xin nói rõ hơn yêu cầu đặt ra của mình như sau:
Trong sheets của mình có nhiều dữ liệu & có 1 vùng để nhập liệu vào. Cụ thể như trong ví dụ mình đưa ra vùng nhập liệu $C$12:F&n . (Trước và sau vùng này còn có những dữ liệu khác nữa.) .Vùng nhập liệu này sẽ có số dòng thay đổi n.

  • Tạo form nhập liệu vào vùng $C$12:F&n .
  • Mỗi lần nhập liệu với số dòng n thay đổi thì tự động insert nếu lần nhập liệu sau có số dòng nhỏ hơn số dòng của lần nhập liệu trước đó. ( nếu không insert nó sẽ nhập vượt ra ngoài bảng tính à ảnh hưởng đến dữ liệu không thuộc bảng tính ở dưới) hoặc sẽ tự động Delete đi những dòng thừa của bảng tính nếu lần nhập sau có số dòng nhỏ hơn lần nhập liệu trước đó ( giữ nguyên cũng được nhưng khi in ra có mấy dòng trống không được đẹp lắm hoặc cũng có thể delete dòng trống thủ công).
Cảm ơn rất nhiều.
 
Upvote 0
Không phải như vậy đâu bạn ơi. 3 sheet ma mình đưa ra chỉ là minh họa cho 3 lần nhập liệu với n dòng thông tin cần nhập vào. Mình có 1 sheets dữ liệu trong đó có 1 vùng cần nhập thông tin vào ( như trong ví dụ vùng đó là $C$12:F&n (n=12+ số thông tin nhập vào). Trước và sau vùng này còn có những dữ liệu khác nữa. Ở đây mình muốn tạo 1 form nhập liệu bắt đầu từ cells(C12). Giả thiết lần đầu mình đặt vùng nhập liệu này có 6 dòng thôi nhưng nếu thông tin nhập vào có 8 thông tin chẳng hạn như vậy sẽ thiếu mất 2 dòng --> insert 2 dòng, lần nhập liệu tiếp theo nữa chỉ có 4 thông tin cần nhập vào như vậy so với lần nhập trước sẽ có 4 dòng thừa --> delete 4 dòng thừa đó. Đó là yêu cầu của mình không biết giải thích như vậy bạn đã hiểu ý mình chưa vậy ? Nếu có ý tưởng gì hay bạn giúp mình với nha. Cảm ơn bạn nhiều.
 
Upvote 0
Bạn cứ làm form nhập dữ liệu đi. Tôi sẽ giúp bạn nhập vào sheet đúng theo yêu cầu của bạn.
Chúng ta giúp nhau tháo gỡ vướng mắc chứ làm cả mấy cái DEMO thì mất thời gian quá.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom