[Help] – Form nhập liệu đơn giản

Gần đây mình có nhận được yêu cầu thêm những chức năng cần thiết cho 1 Form nhập liệu đơn giản. Về cơ bản, bài này ứng dụng nhiều kĩ năng chuyển đổi từ cột sang hàng, và đổi từ hàng sang cột bằng App Script. Sau đây là những chức năng của form đó:

  • Cho sẵn 1 form điền dữ liệu gồm 19 dòng
  • Kiểm tra: kiểm tra các ô bắt buộc nhập, nếu chưa nhập – ghi “Chưa nhập”, nếu đã nhập – ghi “OK”
  • Nhập mới: nhập data mới, sau đó lưu vào sheet database
  • Sửa cũ: lấy data trong database ra sửa, sau khi sửa có thể chọn tiếp Lưu cũ (update database), hoặc Lưu mới (tạo 1 bản ghi mới trong database)
form nhập liệu

File tham khảo

https://docs.google.com/spreadsheets/d/1OGq_zz0cMz7bmVpRN6dZHqIAW1BBX0t_v4TwFJ8UYck/edit?usp=sharing

Lưu ý: để xem, chỉnh sửa file và code, các bạn vui lòng chọn File (tệp) -> Make a copy (copy) để Copy file vào Google Drive của các bạn nhé.

Chú thích

  • Trong file Google Sheet, các bạn kéo xuống dưới sẽ thấy phần chú thích từng ô, dải ô và cột cho file
  • Sheet “Nguon” dùng để chứa form nhập liệu, cũng như để thực hiện các chức năng như lưu cũ, lưu mới, hay kiểm tra
  • Sheet “Dich” chứa database

Nhập mới

  • Nhập dữ liệu mới trong F3:F21
  • Lưu ý: khi ô H1 bỏ trống, bạn sẽ không thể điền thêm data mới nào

Toàn bộ code cho Form nhập liệu

Need Help?

Khi lập trình App Script cho Google Sheet, nếu các bạn có bất kì thắc mắc nào thì có thể gửi câu hỏi về HocGgSheet.com qua biểu mẫu:

https://goo.gl/forms/K1RRnbtPU2M9J80r2

Hoặc có thể trực tiếp để lại comment ở bài post sau:

3 COMMENTS

  1. Bạn cho mình hỏi sao đoạn CODE này mình làm ko ra tự đánh số.
    Kết quả nó ra là
    1 – dòng trên
    11 – dòng dưới
    111 – dòng kế tiếp

    dich.getRange(dich.getLastRow(), 1).setValue(dich.getRange(dich.getLastRow()-1, 1).getValue()+1);

    Bạn cho mình hỏi thêm ví dụ mình đã có dữ liệu NV1, mình muốn kế tiếp khi mình nhập nhân viên mới vào nó tự đánh STT là “NV2” tiếp theo thì mình CODE như thế nào?

    Cám ơn bạn rất nhiều.

Leave a Reply