![Excel - 如何创建每日刷新并保存旧信息的工作表](https://linux22.com/image/1501878/Excel%20-%20%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E6%AF%8F%E6%97%A5%E5%88%B7%E6%96%B0%E5%B9%B6%E4%BF%9D%E5%AD%98%E6%97%A7%E4%BF%A1%E6%81%AF%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%A1%A8.png)
基本上,我为妈妈创建了一个简单的工作表,用于计算工人的工资和管理她的进出口产品。我想知道是否有办法让信息每天刷新,这样她就可以输入新信息,但同时仍然可以访问旧信息(如果她愿意的话)。我现在的做法是每天复制一份工作表并用日期重命名。但这似乎不专业,我认为有一种方法可以更有效地做到这一点。
答案1
我认为您要做的就是自动化当前流程,因为看起来它能满足您的需求。我猜想随着您输入/存储的数据量增加,您以后会遇到问题,并且需要更合适的应用程序(或者如果数据量太大,则使用新的 Excel 表)。
创建新电子表格并将其命名为模板。确保此页面的格式符合您的要求。因此,请输入“标题”,但不输入值(请参见下面之前图片中的示例)
然后运行此代码
Option Explicit
Sub CopyIt()
Dim ws As Worksheet
Set ws = Worksheets("Template")
ws.Copy before:=Worksheets(1)
Dim d As Date
ActiveSheet.Range("A1").Value = CStr(Date) 'update this where you want the date to be
ActiveSheet.Name = Format(Date, "mm-dd-yyyy") 'update this for your chosen date format
End Sub
VBa 无法撤消,因此请先备份
前
后
答案2
电子表格本质上是静态的。它们让人想起将内容写入实体订单簿/付款日记帐。
正如戴夫所建议的,您可以编写一个 VBA 函数,只需单击按钮即可保存工作表,但这只是您现在所做操作的自动化版本,并不简洁。
如果您想继续使用 Excel 工作表,可以将其从每日改为每月。这将更符合企业的经营方式。工作表将每天更新,但每月会创建一个空白副本。这让您可以轻松访问存档,并可以看到当前月份发生的事情。
实际上,Access 数据库可能更合适。您可以有一个用于进口或出口的表格。一个用于员工的表格,以及一个用于他们工资的单独表格,然后将其链接起来。
然后可以使用表单将它们组合在一起,以方便用户使用。您甚至可以将 Access 数据库链接到用于输入数据的只读电子表格,这样就不需要那么大的学习曲线了。
这种数据库的正确设计超出了这里的答案,还有很多关于如何正确地进行设计和维护以保证用户和您自己的理智的知识需要学习。