Macro để thêm báo cáo hàng ngày - Mẹo Excel

Judith đã đăng câu hỏi về Excel của tuần này.

Tôi cần nhập một tệp hàng ngày. Tôi muốn thêm tệp mỗi ngày vào sổ làm việc Excel hiện có và đặt trang tính được đặt tên cho d / m / y.

Một macro cơ bản trực quan ngắn gọn sẽ làm cho việc này trở nên đơn giản. Một vấn đề - tên tab của trang tính không được bao gồm dấu gạch chéo. Vì vậy, giải pháp sẽ đổi tên trang tính của mỗi ngày để có tên như "Ngày 03 tháng 10 năm 1999".

Giải pháp liên quan đến việc thêm một trang tính hàng đầu vào cuốn sách hiện có của bạn. Trang tính này, được gọi là "Menu" cung cấp giao diện người dùng đơn giản để bạn có thể giao nhiệm vụ này cho nhân viên khác, nếu cần. Trang tính trên cùng chứa các ô mà người dùng có thể chỉ định tên đường dẫn và tên tệp của tệp cần nhập. Nếu bạn đang nhập tệp được tạo bởi hệ thống khác, thì các trường này sẽ không thay đổi hàng ngày. Trang tính Menu cũng chứa một ô với ngày hiện tại được định dạng không có dấu gạch chéo. Tôi sẽ bao gồm một macro mở tự động sẽ tự động điền vào ô này cho người dùng, nhưng họ luôn có thể tự do thay đổi nó trước khi nhấp vào nút để nhập tệp. Cuối cùng, bảng Menu có một nút lớn mà người dùng sẽ nhấp vào.Nút này sẽ gọi macro để nhập tệp có tên trên Menu vào sách hiện tại với tên tab được chỉ định.

Bảng tính Menu

Mở một sổ làm việc mới chỉ với một trang tính. Nhấp đúp vào tab trang tính và nhập tên cho trang tính có tên "Menu". Thêm tiêu đề đẹp vào ô A1. Trong Ô C3: C5, thêm văn bản như được hiển thị ở bên trái. Trong Ô D3, nhập tên đường dẫn cho thư mục nơi tệp được tìm thấy mỗi ngày. Trong ô D4, thêm tên của tệp. Để trống D5. Việc thiết lập nút sau khi macro được tạo sẽ dễ dàng hơn, vì vậy chúng tôi sẽ để lại điều đó sau.

  • Khởi động Trình chỉnh sửa Macro bằng alt = "" + F11
  • Chọn Chèn - Mô-đun
  • Sao chép văn bản sau vào trình chỉnh sửa macro
Sub Auto_Open() ' This macro will put today's date as the default new tab name Sheets("Menu").Select Range("D5").Select Selection.Formula = "=text(now(),""mmm dd yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlValues Application.CutCopyMode = False Selection.Columns.AutoFit Range("D8").Value = "" End Sub Sub GetFile() ' This macro will import a file into this workbook ' Copyright 1999 www.MrExcel.com Sheets("Menu").Select PathName = Range("D3").Value Filename = Range("D4").Value TabName = Range("D5").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Filename ActiveSheet.Name = TabName Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1) Windows(Filename).Activate ActiveWorkbook.Close SaveChanges:=False Windows(ControlFile).Activate Sheets("Menu").Select Range("D8").Select ActiveCell.Value = "Completed" Range("D9").Select End Sub

Bây giờ, quay lại Excel và thêm một nút vào bảng Menu.

Cách thêm nút vào trang tính

Thêm nút
  • Hiển thị Thanh công cụ Biểu mẫu bằng cách chọn Chế độ xem - Thanh công cụ - Biểu mẫu
  • Chọn công cụ Nút từ thanh công cụ
  • Giữ phím alt = "", kéo từ góc trên cùng của B8 vào ô C9
  • Từ hộp thoại Chỉ định Macro, hãy chọn macro của chúng tôi có tên GetFile và nhấp vào OK
  • Trong khi nút vẫn được chọn, bạn có thể nhấp và kéo để chọn văn bản trên nút. Thay thế văn bản này bằng "Tiến trình!" hoặc bất kỳ văn bản nào bạn chọn

Bây giờ bạn có ứng dụng hoàn chỉnh. Lưu tệp ở nơi thuận tiện. Khi bạn thiết lập tệp của mình với thông tin chính xác trong các ô D3: D4, quy trình hàng ngày sẽ như sau:

  • Mở tệp chúng tôi vừa tạo
  • Xác minh rằng ngày hiển thị trong ô D5 là phù hợp.
  • Bấm vào nút lớn.
  • Lưu các tập tin

Dưới đây là một số cách mà bạn có thể thay đổi macro:

  • Nếu bạn muốn tab được đặt tên với ngày của ngày hôm trước, hãy thêm "-1" sau "NOW ()" trong macro.
  • Nếu tệp được nhập có nhiều trang tính và trang mục tiêu có thể không ở trên cùng, thì hãy thêm Trang tính ("tên trang"). Chọn sau dòng Tệp. Mở ở trên.

thú vị bài viết...