Windows Form Làm thế nào để định vị cột và dòng nhập dữ liệu

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

binhtv69

Thành viên mới
Tham gia
9/5/21
Bài viết
2
Được thích
0
Chào các bác
Hiện tại mình cần nhập dữ liệu theo yêu cầu của Sếp
Sếp đưa cho1 sấp tài liệu nhiều quá mình không thể nhập tay hết được, nên mình có tìm hiểu VBA nó giúp mình làm lẹ hơn, nhưng mình mới tìm hiểu nên không rành
mong bro giúp mình viết code định vị để mình nhập dữ liệu cho nhanh với
Ví dụ Trường Dãy H, mình nhập 5 ; TT mình nhập 6, Ký tự nhập 100 thì tự động nó nhập 100 vào phần khoanh đỏ.
Mong được sự giúp đở của các bác.
Em xin cám ơn

hop.jpg
 

File đính kèm

  • nhapphieu.xlsm
    1.9 MB · Đọc: 6
Chào các bác
Hiện tại mình cần nhập dữ liệu theo yêu cầu của Sếp
Sếp đưa cho1 sấp tài liệu nhiều quá mình không thể nhập tay hết được, nên mình có tìm hiểu VBA nó giúp mình làm lẹ hơn, nhưng mình mới tìm hiểu nên không rành
mong bro giúp mình viết code định vị để mình nhập dữ liệu cho nhanh với
Ví dụ Trường Dãy H, mình nhập 5 ; TT mình nhập 6, Ký tự nhập 100 thì tự động nó nhập 100 vào phần khoanh đỏ.
Mong được sự giúp đở của các bác.
Em xin cám ơn

View attachment 305791
Làm như thế này thì còn lâu hơn nhập thẳng vào ô.
 
Upvote 0
Không phải bạn, Vì sếp gửi cả sấp tài liệu như dưới, nó không tuần tự, nên mình mới cần VBA như trên

1732242339820.png
 
Upvote 0
Chào các bác
Hiện tại mình cần nhập dữ liệu theo yêu cầu của Sếp
Sếp đưa cho1 sấp tài liệu nhiều quá mình không thể nhập tay hết được, nên mình có tìm hiểu VBA nó giúp mình làm lẹ hơn, nhưng mình mới tìm hiểu nên không rành
mong bro giúp mình viết code định vị để mình nhập dữ liệu cho nhanh với
Ví dụ Trường Dãy H, mình nhập 5 ; TT mình nhập 6, Ký tự nhập 100 thì tự động nó nhập 100 vào phần khoanh đỏ.
Mong được sự giúp đở của các bác.
Em xin cám ơn

View attachment 305791
Tìm hiểu phương thức offset của range
range.offset
thì sẽ hiểu và cách để áp dụng định vị theo 1 ô gốc nào đó
 
Upvote 0
Dùng 1 biến định vị dòng. Dùng sự kiện afterUpdate của từng textbox trên form
Thí dụ:
Public dong as long
dong = ActiveCell.Row
Sự kiện textbox1_AfterUpdate
dong = dong + 1
ActiveSheet.Cells(dong, 3) = textbox1

Sự kiện textbox2 và textbox3 không tăng dong

Trước khi mở form, đứng ở dòng cuối có dữ liệu, cột nào cũng được
 
Upvote 0
Dùng 1 biến định vị dòng. Dùng sự kiện afterUpdate của từng textbox trên form
Thí dụ:
Public dong as long
dong = ActiveCell.Row
Sự kiện textbox1_AfterUpdate
dong = dong + 1
ActiveSheet.Cells(dong, 3) = textbox1

Sự kiện textbox2 và textbox3 không tăng dong

Trước khi mở form, đứng ở dòng cuối có dữ liệu, cột nào cũng được
Bài này không cần dong = dong +1 anh.
Cứ để trống cả 2 textbox để chủ thớt tự nhập, sự kiện on enter thì lưu và xoá trắng textbox là được rồi. Thêm phím nóng cho hành động xoá sau khi nhập định vị ô cần xoá.
 
Upvote 0
Chào các bác
Hiện tại mình cần nhập dữ liệu theo yêu cầu của Sếp
Sếp đưa cho1 sấp tài liệu nhiều quá mình không thể nhập tay hết được, nên mình có tìm hiểu VBA nó giúp mình làm lẹ hơn, nhưng mình mới tìm hiểu nên không rành
mong bro giúp mình viết code định vị để mình nhập dữ liệu cho nhanh với
Ví dụ Trường Dãy H, mình nhập 5 ; TT mình nhập 6, Ký tự nhập 100 thì tự động nó nhập 100 vào phần khoanh đỏ.
Mong được sự giúp đở của các bác.
Em xin cám ơn

View attachment 305791
Gửi nhầm file rồi bạn.
 
Upvote 0
Bài này không cần dong = dong +1 anh.
Cứ để trống cả 2 textbox để chủ thớt tự nhập, sự kiện on enter thì lưu và xoá trắng textbox là được rồi. Thêm phím nóng cho hành động xoá sau khi nhập định vị ô cần xoá.
Tất nhiên là lưu và xóa trắng, quay lại nhập tiếp (setFocus chẳng hạn). Nhưng lưu xuống đâu? Nhập 100 dòng dữ liệu từ giấy mà tham số dong không + 1 thì lưu mãi vào 1 chỗ sao?
Còn nút xóa tôi chưa nói tới: Phải chọn dòng trước rồi mới xóa bằng Refedit hoặc Inputbox.
 
Upvote 0
Tất nhiên là lưu và xóa trắng, quay lại nhập tiếp (setFocus chẳng hạn). Nhưng lưu xuống đâu? Nhập 100 dòng dữ liệu từ giấy mà tham số dong không + 1 thì lưu mãi vào 1 chỗ sao?
Còn nút xóa tôi chưa nói tới: Phải chọn dòng trước rồi mới xóa bằng Refedit hoặc Inputbox.
Chủ thớt nói gõ tham số dòng cột vào 2 textbox rồi đó anh.
 
Upvote 0
Chủ thớt nói gõ tham số dòng cột vào 2 textbox rồi đó anh.
Tôi xin lỗi chưa xem file và xem hình chưa kỹ nên tưởng nhập liệu 3 thông tin trên 3 cột.

Tuy nhiên cách tiếp cận dòng cột kiểu tự chọn STT, chọn dãy H mấy thì sẽ tốn công hơn. Sẽ phải find STT lấy dòng, find lớp lấy cột. Một lần nhập liệu 1 con số là phải tìm. Tại sao không nhập hết 1 dòng rồi qua dòng mới, hoặc nhập hết 1 cột rồi qua cột mới?

Tôi đưa ra giải pháp cho việc nhập liệu theo từng cột:
- Có 1 textbox hoặc combobox chọn dãy lớp. Dùng hàm Find để xác định Column. Lúc này sẽ nhập liệu từng cột. Đổi giá trị combobox sẽ nhập liệu cột mới.
- Khi vừa chọn dãy lớp, tìm dòng cuối có dữ liệu của cột đó, gán cho biến dong như bài trên. Có lẽ vẫn cần biến public.
- Do chỉ nhập liệu 1 ô (chứ không phải 3 ô như tôi nhầm), thì chỉ 1 textbox nhập liệu:
sự kiện exit hoặc Before Update, tăng dong lên 1, ghi xuống dong mới tăng và cột ở gạch đầu dòng thứ nhất. Xóa trắng và nhập giá trị mới.

Ghi chú là sử dụng đúng sự kiện để:
- Giữ con trỏ lại trong textbox
- với keyCode hoặc KeyASCII nào đó sẽ nhảy lên (focus vào) combobox để sửa cột, hoặc đóng form, ...
 
Upvote 0
. . . .
(1) Hiện tại mình cần nhập dữ liệu theo yêu cầu của Sếp
Sếp đưa cho1 sấp tài liệu nhiều quá mình không thể nhập tay hết được, nên mình có tìm hiểu VBA nó giúp mình làm lẹ hơn, nhưng mình mới tìm hiểu nên không rành
mong bro giúp mình viết code định vị để mình nhập dữ liệu cho nhanh với
Ví dụ Trường Dãy H, mình nhập 5 ; TT mình nhập 6, Ký tự nhập 100 thì tự động nó nhập 100 vào phần khoanh đỏ.
Mong được sự giúp đở của các bác.
. . . .
Bạn viết thừa cụm từ 'của Sếp'; Ở cồng đồng này người ta không cần đếm xỉa đến Sếp của bạn;
Cái cần là bạn nhập vào tên trang tính nào trong 14 trang tính thì lại không đề cập đến; & như vậy vô hành chung bạn làm khó thêm cho những người có nhã ý giúp bạn rồi còn gì!
Nếu là mình thì cần viết là dùng form nào (trong 16 cái form của bạn (chứng tỏ bạn chưa tôn trọng người mà bạn cầu để được giúp đỡ; ngược lại mình cho rằng bạn đem Sếp (của bạn) có í để hù dọa cộng đồng này;

& như mình thì thanh lọc bớt file (bỏ bớt những trang không hay chưa liên quan đến nhập liệu) cũng nhưng bớt các form không liên quan để tránh làm loãng câu hỏi;
Những mong lần sau bạn chú ý hơn!

CHÚC MỌI NGƯỜI VUI KHỎE TRONG NHỮNG NGÀY CUỐI TUẦN!
 
Upvote 0
ngược lại mình cho rằng bạn đem Sếp (của bạn) có í để hù dọa cộng đồng này;
Tôi thì cho rằng người ta chỉ đang kể khổ chứ không phải "hù dọa". Anh nhạy cảm quá mức. Hãy nghĩ đơn giản cho người ta trước khi suy diễn và gán tánh xấu cho họ.
 
Upvote 0
Web KT

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

Back
Top Bottom