Tạo vùng nhập liệu theo mẫu (5 người xem)

  • Thread starter Thread starter tham216
  • Ngày gửi Ngày gửi
Liên hệ QC

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

tham216

Thành viên mới
Tham gia
24/3/21
Bài viết
32
Được thích
1
Em chào các anh/chị ạ.
Em có một file như đính kèm. Em muốn tạo code VBA để tự động tạo một vùng dữ liệu mẫu cho mọi người nhập vào.
Vùng nhập liệu mới sẽ được tạo ngay dưới vùng đã chứa dữ liệu rồi.
Mong mọi người giúp đỡ ạ.
 

File đính kèm

Chưa hiểu ý đồ lắm. Mô tả kĩ hơn xíu coi nào
 
Upvote 0
Chưa hiểu ý đồ lắm. Mô tả kĩ hơn xíu coi nào
Ý mình là tạo code để tự động tạo thêm 3 dòng trống phần nội dung chỉ có phần tiêu đề ở cột A thôi ạ.
Bạn thử xem file mình đính kèm bên dưới xem có hiểu ý mình k giúp mình với ạ
 

File đính kèm

Upvote 0
Ý mình là tạo code để tự động tạo thêm 3 dòng trống phần nội dung chỉ có phần tiêu đề ở cột A thôi ạ.
Bạn thử xem file mình đính kèm bên dưới xem có hiểu ý mình k giúp mình với ạ
Điều kiện để nó tự động thêm 3 dòng đó là gì
 
Upvote 0
Mình sẽ tạo thêm nút để mọi người kích vào là có thể tạo thêm 3 dòng đó ạ
Góp ý cho bạn:
1/ Theo tôi thì nên làm 1 sheet gọi là SheetForm có vùng như dòng 5 đến 9 và nhập dữ liêu từ B8:S9 rồi tạo một nút lưu vào sheet Test
2/ Tại SheetForm, Khi nhập liêu từ B8:S9 và lưu vào sheet Test xong thì xóa trắng vùng B8:S9 và tiếp tục nhập liệu cho lần sau. Chứ không làm như kiểu bạn đã đề xuất.
 
Upvote 0
Góp ý cho bạn:
1/ Theo tôi thì nên làm 1 sheet gọi là SheetForm có vùng như dòng 5 đến 9 và nhập dữ liêu từ B8:S9 rồi tạo một nút lưu vào sheet Test
2/ Tại SheetForm, Khi nhập liêu từ B8:S9 và lưu vào sheet Test xong thì xóa trắng vùng B8:S9 và tiếp tục nhập liệu cho lần sau. Chứ không làm như kiểu bạn đã đề xuất.
Mình cũng đã nghĩ đến phương án đó, nhưng khi mọi người nhập thông tin mới thì mọi người cần dựa vào những thông tin đã có từ trước đó nữa, nên làm hai sheet sẽ rất bất tiện ạ.
 
Upvote 0
Mình cũng đã nghĩ đến phương án đó, nhưng khi mọi người nhập thông tin mới thì mọi người cần dựa vào những thông tin đã có từ trước đó nữa, nên làm hai sheet sẽ rất bất tiện ạ.
Muốn dựa vào thông tin đã có trước đó thì khi nhập liêu từ B8:S9 và lưu vào sheet Test xong thì không xóa trắng vùng B8:S9, chỉ đơn giản vậy mà không nghĩ ra à
 
Upvote 0
Muốn dựa vào thông tin đã có trước đó thì khi nhập liêu từ B8:S9 và lưu vào sheet Test xong thì không xóa trắng vùng B8:S9, chỉ đơn giản vậy mà không nghĩ ra à
Nếu như vậy thì mình cho mọi người nhập tay vào 1 sheet thôi cần gì phải sử dụng VBA cho phức tạp mà lại nặng file
 
Upvote 0
Nếu như vậy thì mình cho mọi người nhập tay vào 1 sheet thôi cần gì phải sử dụng VBA cho phức tạp mà lại nặng file
Tôi chỉ góp ý, nếu không thích thì cứ sử dụng theo kiểu cũ, rồi chờ các thành viên khác góp ý theo kiểu khác xem có gì hay hơn không ?????
 
Upvote 0
Nếu như vậy thì mình cho mọi người nhập tay vào 1 sheet thôi cần gì phải sử dụng VBA cho phức tạp mà lại nặng file
Cái này người ta gọi là cố chấp đó.
Còn cứ nhất quyết phải như vậy thì như này đi:
Mã:
Option Explicit

Sub Insertrow()
Dim vung As Range, iR&, Rng, i&
With Sheets("test")
    Set vung = .Range("A7:S9")
    iR = .Range("A" & Rows.Count).End(3).Row
    vung.Copy
    .Range("A" & iR + 1).PasteSpecial xlPasteFormats
    Rng = Array("Manage No", "Time", "Start /Finish")
    For i = 1 To 3
        .Cells(iR + i, 1).Value = Rng(i - 1)
    Next
End With
End Sub
 
Upvote 0
Cái này người ta gọi là cố chấp đó.
Còn cứ nhất quyết phải như vậy thì như này đi:
Mã:
Option Explicit

Sub Insertrow()
Dim vung As Range, iR&, Rng, i&
With Sheets("test")
    Set vung = .Range("A7:S9")
    iR = .Range("A" & Rows.Count).End(3).Row
    vung.Copy
    .Range("A" & iR + 1).PasteSpecial xlPasteFormats
    Rng = Array("Manage No", "Time", "Start /Finish")
    For i = 1 To 3
        .Cells(iR + i, 1).Value = Rng(i - 1)
    Next
End With
End Sub
Dạ mình làm được rồi. Mình cảm ơn ạ.
 
Upvote 0
Web KT

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

Back
Top Bottom