Tạo 1 sheet như Form để nhập liệu

be09

Member
Hội viên mới

(mã nguồn mở, các bạn có thể xem code để tham khảo, các file khác tôi khóa nguồn mong các bạn thông cãm).

Thông thường, nếu dùng UserFrm thì người dùng khó lòng mà sửa được tiêu đề để nhập dữ liệu vào bảng tính. Các bạn có thể sử dụng 1 sheet như Form để nhập liệu và có thể sửa tiêu đề theo nhu cầu sử dụng của mình.

Hôm nay tôi tặng các bạn File dùng Sheet như Form để gõ dữ liệu vào sheet này và nhập dữ liệu vào sheet khác, để tiện sử dụng trong tất cả các công việc.

Trong File có 3 sheet: Sheet có tên NhapLieu dùng để gõ dữ liệu đầu vào, sheet có tên Theodoi dùng chứa dữ liệu nhập vào, sheet có tên DataList dùng nơi chứa dữ liệu dùng Datvalidation để tạo Li st nơi Sheet có tên NhapLieu.

Hướng dẫn:
- Sheet có tên NhapLieu: Chỉ nhập dữ liệu từ C3 đến C11 và C13 để ghi chú nội dung cần. Khi nhập dữ liệu xong bạn click vào Shapes có tên Nhập dữ liệu vào sheet Theo dõi, thì macro lấy dữ liệu từ C3 đến C13của Sheet NhapLieu vào sheet có tên Theodoi (từ cột B đến cột L với dòng trống kế tiếp tương ứng) và tự xóa vùng dữ liệu từ C3 đến C13 của Sheet NhapLieu.
- Tại cột A tôi dùng hàm để đánh số thứ tự tự động, nếu bạn cần xóa 1 dòng nào đó nó sẽ tự động nhảy số thứ tự lên.

Lưu ý:
01. Hàm tại A4 là =IF(B4<>"",COUNTA($B$4:B4),"") khi bạn nhập dự liệu vào thì nó tự động đánh số thứ tự, trong sheet Theodoi tôi mới Fill đến A10 cần đến đâu thì bạn Fill xuống tiếp.
02. Vùng tiêu đề từ B3 đến B13 của Sheet NhapLieu bạn có thể sử đổi cho phù hợp với công việc và kể cả tên sheet mà không làm anh hưởng đến Code trong Module1. Nếu bạn cần ít tiêu đề hơn thì bạn xóa C 12, C13 và D12 sửa những tiêu đề của các dòng trên cho phù hợp với công việc và làm ẩn hết các dòng không cần nhập dữ liệu (bên dưới). Tải File theo Link.

https://www.box.com/s/583c01c989902c3a2cb4
 
Sửa lần cuối:
Ðề: Ta có thể dùng Copy - paste Tranpose

như ví dụ sau:

PHP:
    Range("C3:C13").Select
    Selection.Copy
    Sheets("Theodoi").Select
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

Code của bạn TQChanh do dùng Record Macro mà có, xin nói thêm sau khi Record Macro xong thì cần khai báo thêm biến mới sử dụng được.
Code nhập liệu cần bổ sung thêm như sau:
PHP:
Option Explicit
'Khai báo bién
Dim wsTheodoi     As Worksheet
Dim wsNhapLieu     As Worksheet
Dim rNextCl    As Range
Private Sub cmdNhapLieu_Click()
'Thiét lap các bién
Set wsNhapLieu = Sheet1
Range("C3:C13").Select
    Selection.Copy
    '' Chon sheet Theodoi de nhap lieu
    Sheets("Theodoi").Select
    With rNextCl
    Selection. PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
      End With
   
End Sub

Khi nhập dữ liệu xong (trong vùng C3:C13 của sheet NhapLieu), sang sheet Theodoi bạn click chọn bất kỳ chỗ muốn nhập, và nhấn vào nút NHẬP LIỆU thì dữ liệu sẽ được nhập nơi vị trí bạn vừa chọn. Xem File đính kèm:
https://www.box.com/s/bbc48f7704c3c29e82f9
 
Sửa lần cuối:
Ðề: Tạo 1 sheet như Form để nhập liệu


Tôi nghĩ bạn làm ở Ngân hàng, Form của bạn chỉ có tác dụng thống kê loại tiền và lượng tiền còn thống kê vào mục đích gì thì không có nội dung.
Trong đó sheet 'TONG TIEN' và Sheet NHAP sử dụng như sau:
Dòng đầu Sheet NHAP dùng hàm Sum(A2:A30),………. Sum(J2:J30)
Các Name
Bangke ='TONG TIEN'!$A$4:$D$14
Tongtien ='TONG TIEN'!$A$1
Nhanhcham ='TONG TIEN'!$K$1
Sophut ='TONG TIEN'!$L$1
St =NHAP!$L$2

L2 là Link từ ='TONG TIEN'!D14-K2 (tôi nghĩ không cần –K2 vì ô này rổng)
Sheet TONG TIEN là Link từ A2:J2 của sheet NHAP
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Anh Bé Ơi
file form đó mình vào bảng tính excel như thế nào vậy hả Anh?
Tôi nghĩ bạn làm ở Ngân hàng, Form của bạn chỉ có tác dụng thống kê loại tiền và lượng tiền còn thống kê vào mục đích gì thì không có nội dung.
Trong đó sheet 'TONG TIEN' và Sheet NHAP sử dụng như sau:
Dòng đầu Sheet NHAP dùng hàm Sum(A2:A30),………. Sum(J2:J30)
Các Name
Bangke ='TONG TIEN'!$A$4:$D$14
Tongtien ='TONG TIEN'!$A$1
Nhanhcham ='TONG TIEN'!$K$1
Sophut ='TONG TIEN'!$L$1
St =NHAP!$L$2

L2 là Link từ ='TONG TIEN'!D14-K2 (tôi nghĩ không cần –K2 vì ô này rổng)
Sheet TONG TIEN là Link từ A2:J2 của sheet NHAP
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Mở bảng tính hiện ra cửa sổ Sercurity Warning và click vào nút Disable Macros.
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Xin chào các ace !

Tình hình là em đang có 1 nhu cầu bài toán gần giống với anh đưa ra giải pháp của topic này , nhưng bài của e không phải chỉ đưa dữ liệu về 1 sheet như anh be09 mà rất nhiều sheet ( chính xác là 36 sheet ) , e muốn khi nhập liệu sẽ có thể chon sheet mà minh muốn đưa dữ liệu vào ạ ! Nhưng về macro thì e mù tịt , e tìm mõi mòn mới thấy đc topic như mình mong đợi này , có điều topic này được đăng lâu rồi nên bây giờ thắc mắc và cần giúp đỡ không biết có đc quan tâm nữa hay ko, e tha thiết mong ace giúp đỡ e ạ !
E ko biết up file ở chỗ nào ...hu hu....
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Xin chào các ace !

Tình hình là em đang có 1 nhu cầu bài toán gần giống với anh đưa ra giải pháp của topic này , nhưng bài của e không phải chỉ đưa dữ liệu về 1 sheet như anh be09 mà rất nhiều sheet ( chính xác là 36 sheet ) , e muốn khi nhập liệu sẽ có thể chon sheet mà minh muốn đưa dữ liệu vào ạ ! Nhưng về macro thì e mù tịt , e tìm mõi mòn mới thấy đc topic như mình mong đợi này , có điều topic này được đăng lâu rồi nên bây giờ thắc mắc và cần giúp đỡ không biết có đc quan tâm nữa hay ko, e tha thiết mong ace giúp đỡ e ạ !
E ko biết up file ở chỗ nào ...hu hu....


Em yêu cầu tạo Form và muốn nhập vào bất kỳ sheet nào thì cũng được nhưng phải dùng đến False, True nhiều quá thì hơi phức tạp.

Theo anh thì làm như thế này: Nếu tiêu đề của 36 sheet là giống nhau thì chỉ cần tạo Form nhập cho 1 sheet là đủ, sau đó tạo 1 nút để khi cần tách sheet theo yêu cầu thì nhấn vào nút tách sheet nó sẽ tự phân loại và tách ra 36 sheet như em đã nêu, em tải File và tham khảo bài 5 của bài viết ở Link sau:

http://www.danketoan.com/forum/excel-va-vba/gop-va-tach-du-lieu-thanh-nhieu-sheet.212114.html

Làm kiểu này thì tổng hợp 1 nhát là xong và có thể xuất dữ liệu bất kỳ nào mình cần, chứ làm như kiểu em yêu cầu nội di chuyển từ sheet này qua sheet khác thì đã mệt bở hơi tai rồi còn thời gian đâu mà ngồi tính toán theo từng sheet.
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Em yêu cầu tạo Form và muốn nhập vào bất kỳ sheet nào thì cũng được nhưng phải dùng đến False, True nhiều quá thì hơi phức tạp.

Theo anh thì làm như thế này: Nếu tiêu đề của 36 sheet là giống nhau thì chỉ cần tạo Form nhập cho 1 sheet là đủ, sau đó tạo 1 nút để khi cần tách sheet theo yêu cầu thì nhấn vào nút tách sheet nó sẽ tự phân loại và tách ra 36 sheet như em đã nêu, em tải File và tham khảo bài 5 của bài viết ở Link sau:

http://www.danketoan.com/forum/excel-va-vba/gop-va-tach-du-lieu-thanh-nhieu-sheet.212114.html

Làm kiểu này thì tổng hợp 1 nhát là xong và có thể xuất dữ liệu bất kỳ nào mình cần, chứ làm như kiểu em yêu cầu nội di chuyển từ sheet này qua sheet khác thì đã mệt bở hơi tai rồi còn thời gian đâu mà ngồi tính toán theo từng sheet.

A chỉ e cách up file đi, sao e ko thấy chỗ nào để up hết . Cái file của e đại loại là e dùng để tính tiền cho quán trà sữa .e có 1 sheet tên là HOME , 36 sheet còn lại tương ứng với số bàn . Ở sheet HOME có tạo link đến 36 sheet kia , e muốn ở sheet HOME có 1 khu vực để nhập lieu và có thể chuyển dữ lieu đó đến sheet có số bàn tương ứng .
Mà theo đề nghị của a cũng hợp lí đó,nhưng vậy khi có bàn tính tiền ,e fai in fieu ra thì lại click sheet ( số bàn ) trên tab ?
 
Ðề: Tạo 1 sheet như Form để nhập liệu

https://app.box.com/s/gv01nlbexwq96w57z4do
Đây file của e đây a ơi ! a xem rồi góp ý giúp e nhen ! Những Protect sheet trong file của e pass là 123 hết ( nếu a có xem j mà cần fai unprotect sheet )

Cảm ơn a nhiều nhiều !
 
Ðề: Tạo 1 sheet như Form để nhập liệu

A chỉ e cách up file đi, sao e ko thấy chỗ nào để up hết . Cái file của e đại loại là e dùng để tính tiền cho quán trà sữa .e có 1 sheet tên là HOME , 36 sheet còn lại tương ứng với số bàn . Ở sheet HOME có tạo link đến 36 sheet kia , e muốn ở sheet HOME có 1 khu vực để nhập lieu và có thể chuyển dữ lieu đó đến sheet có số bàn tương ứng .
Mà theo đề nghị của a cũng hợp lí đó,nhưng vậy khi có bàn tính tiền ,e fai in fieu ra thì lại click sheet ( số bàn ) trên tab ?

Để up Load tập tin:
Khi đăng nhập xong em click vào nút trả lời, gõ nội dung cần hỏi sau đó nhìn xuống góc phải bên nhấn vào nút vđổi sang khung lớn, phí trên khung nhập liệu em sẽ thấy hình cái kẹp giấy, rê chuột vào nó sẽ xuất hiện chữ Đính kèm, click vào nó sẽ xuất hiện ra cửa sổ có tên UpLoad tập tin, nhìn lên phía trên bên phải nhấn vào nút Add Files nó sẽ xuất hiện ra 1 bảng em nhấn vào nút Select Files 1 cửa sổ khác xuất hiện, bên phải khung Look in em click vào mũi tên để chọn ổ dĩa chứa File, tìm và click vào File cần Up lên sau đó nhấn nút Open, 1 thanh tiến trình sẽ chạy chờ giây lát để cho nó chạy xong, mở trang em viết bài và kéo thanh cuộn xuống xem đã thấy File Up lên chưa, nếu thấy rồi thì nhấn vào nút trả lời, vậy là đã gửi File xong.

Còn vụ in phiếu tính tiền bàn thì đơn giản, sử dụng Auto Filter chọn số bàn là xong, hoặc muốn lấy dữ liệu qua sheet khác rồi in cũng được (vụ này có File rồi tính sau).

Lưu ý:
- File em Up lên chỉ cần 1 Sheet gồm tiêu đề và chứa khoảng 30 dòng dữ liệu là đủ, sau đó nén File lại rồi mới Up lên, vì em là thành viên mới ít Quota nên không gửi được File với dung lượng lớn.
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Do phần yêu cầu của em anh thấy nó không liên quan gì đến vấn đề lập trình VBA nên anh đã chuyển bài viết sang Link bên dưới, em vào Link để Down File về.

http://www.danketoan.com/forum/ui-n...-tung-ban-quan-coffee.212258.html#post1092952

Sau khi xem File nếu cần bổ sung gì thêm thì vào bài viết chuyên đề vế Ứng dụng Excel kế toán để hỏi tiếp.
 
Sửa lần cuối:
Ðề: Tạo 1 sheet như Form để nhập liệu

Do phần yêu cầu của em anh thấy nó không liên quan gì đến vấn đề lập trình VBA nên anh đã chuyển bài viết sang Link bên dưới, em vào Link để Down File về.

http://www.danketoan.com/forum/ui-n...-tung-ban-quan-coffee.212258.html#post1092952

Sau khi xem File nếu cần bổ sung gì thêm thì vào bài viết chuyên đề vế Ứng dụng Excel kế toán để hỏi tiếp.

Trong bài này của a có cái phần là sau khi nhập data vào xong thì bấm cái nút cho nó đỗ data qua sheet bên kia rồi thì data bên sheet này sẽ đc xóa đi . Ý của e là cần như vậy đó ! để sau đó sẽ tiếp tục nhập váo data của bàn khác chẳng hạn .
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Trong bài này của a có cái phần là sau khi nhập data vào xong thì bấm cái nút cho nó đỗ data qua sheet bên kia rồi thì data bên sheet này sẽ đc xóa đi . Ý của e là cần như vậy đó ! để sau đó sẽ tiếp tục nhập váo data của bàn khác chẳng hạn .

Đâu cần xóa làm gì, sau khi theo dõi từng ngày xong thì cho các dòng của ngày hôm trước ẩn đi, ngày hôm sau nhập tiếp vào bên dưới như vậy thì lúc nào ta cũng có ngày hiện tại, vì phiếu tính tiền lấy dữ liệu từ sheet data qua bằng số thứ tự, còn số thứ tự thì đánh liên tục xuống dưới. Mục đích sheet Data là để lưu dữ liệu từ đầu năm đến cuối năm và chạy PivotTable để biết kết quả doanh thu theo từng tháng, từng năm, hoặc tính khối lượng của từng nhân viên để biết được nhân viên nào làm nhiều làm ít mà có thể xét nâng lương hoặc thưởng tết cho những nhân viên tích cực.
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Ấy da.... e nói ko được rõ nên a hiểu nhầm topic rồi . " bài này " là e đang nói của topic này ( Tạo 1 sheet như form.. ) đó a . Nên mới cần dung đến VBA.
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Ấy da.... e nói ko được rõ nên a hiểu nhầm topic rồi . " bài này " là e đang nói của topic này ( Tạo 1 sheet như form.. ) đó a . Nên mới cần dung đến VBA.

Ý của em là tạo 1 sheeet (Ví dụ sheet A) với nội dung giống như tiêu đề sheet Data, khi nhập nội dung vào sheet này xong, nhấn nút nhập dữ liệu thì được nhập và sheet data đồng thời xóa nội dung ở sheet A để nhập tiếp đúng không?
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Ý của em là tạo 1 sheeet (Ví dụ sheet A) với nội dung giống như tiêu đề sheet Data, khi nhập nội dung vào sheet này xong, nhấn nút nhập dữ liệu thì được nhập và sheet data đồng thời xóa nội dung ở sheet A để nhập tiếp đúng không?


Dạ đúng rồi đó a ! Nhưng như ban đầu e nói là e có 36 sheet ( đươc đặt tên theo stt 1->35, vá 1 sheet tên " VỀ " ) , và e cần là bên sheet nhập dữ liệu có thề chọn đc tên của sheet cần chuyển dữ liệu qua .
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Dạ đúng rồi đó a ! Nhưng như ban đầu e nói là e có 36 sheet ( đươc đặt tên theo stt 1->35, vá 1 sheet tên " VỀ " ) , và e cần là bên sheet nhập dữ liệu có thề chọn đc tên của sheet cần chuyển dữ liệu qua .

Chìu theo ý em.
- Với sheet TinhTienBan: Dùng làm phiếu tính tiền, chỉ click chọn dữ liệu vào Cell C5:I15 rồi in phiếu, khi in phiếu xong thì nhấn nút Nhập liệu nó sẽ chuyển dữ liệu vào sheet Theodoi và xóa vùng C5:I15.

- Với sheet Dùng kiểm tra Phiếu:Khi tính tiền mà khách có thắc mắc thì dùng sheet này kiểm tra lại phiếu hoặc in lại phiếu.

Lưu ý:
- Với sheet DataList: Dùng làm nguồn để lấy dữ liệu vào Validation, nếu muốn thay đổi nội dung của từng cột thì gõ lại trong vùng màu xanh nó tự lấy dữ liệu vào Validation của sheet TinhTienBan.

- Với sheet TinhTienBan: Vùng có màu xanh dùng Validation nên chỉ click vào Cell và chọn để nhập liệu mà không cần gõ vào.
 

Đính kèm

  • TINH TIEN BAN.rar
    25.2 KB · Lượt xem: 719
Ðề: Tạo 1 sheet như Form để nhập liệu

Chìu theo ý em.
- Với sheet TinhTienBan: Dùng làm phiếu tính tiền, chỉ click chọn dữ liệu vào Cell C5:I15 rồi in phiếu, khi in phiếu xong thì nhấn nút Nhập liệu nó sẽ chuyển dữ liệu vào sheet Theodoi và xóa vùng C5:I15.

- Với sheet Dùng kiểm tra Phiếu:Khi tính tiền mà khách có thắc mắc thì dùng sheet này kiểm tra lại phiếu hoặc in lại phiếu.

Lưu ý:
- Với sheet DataList: Dùng làm nguồn để lấy dữ liệu vào Validation, nếu muốn thay đổi nội dung của từng cột thì gõ lại trong vùng màu xanh nó tự lấy dữ liệu vào Validation của sheet TinhTienBan.

- Với sheet TinhTienBan: Vùng có màu xanh dùng Validation nên chỉ click vào Cell và chọn để nhập liệu mà không cần gõ vào.

Em cảm ơn a nhiều nhiều nhé !
 
Ðề: Tạo 1 sheet như Form để nhập liệu

Em cảm ơn a nhiều nhiều nhé !

Do chưa hiểu ý nên anh chưa đưa phần tổng hợp vào, nếu muốn thì em nêu cụ thể cái cần tổng hợp anh sẽ làm sau.
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top