我有一个工作簿,其中包含一个工作表显示每月的数字。
当我的工作簿被打开时,安装代码应该检查当前日期并保存,并为该特定的月度工作表创建一个新的“空白”副本,保留该工作表中的所有内容(公式,格式,单元格大小和宽度等),除了为该月输入的销售数据。
当我打开工作簿时,如果它检测到日期是本月的第一天,它应该保存当前的月度工作表,将其标记为上个月(因为从技术上讲,它将填充上个月的数据),然后保存后,它应该从以前的工作表创建一个新的模板,并将新的新模板插入工作簿,删除旧的。
这两个宏工作时手动运行.一个保存工作表,另一个创建一个新的工作表.我不知道如何使它,使这两个宏检查当前日期之前做任何其他事情,然后,只有当日期返回作为第一个月,宏应该继续.
这是代码,分为两个宏,所以有些代码是不同的。
Sub WorksheetExport()
Dim ws As Worksheet
Dim wsToSave As Worksheet
Dim filePathToSave As String
Dim strName As String
Dim bCheck As Boolean
Dim wsMaster As Worksheet
Application.ScreenUpdating = False
strName = Format(Date, "_mmyyyy")
Set wsMaster = Worksheets("bqtest")
filePathToSave = "C:\Users\thelo\Desktop\Quail Stuff\TEST\"
Set wsToSave = Worksheets("bqtest")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=filePathToSave & wsToSave.Name & strName & ".pdf"
End Sub
个字符
2条答案
按热度按时间carvr3hs1#
字符串
hsgswve42#
字符串
这基本上是你的代码,删除了一些不必要的代码。
我已经更改了它,以便它在其名称下导出上个月的工作表,例如2023年3月的
bqtest_032003.pdf
。在你的代码中,没有删除旧月份的工作表。如果你想让Excel自动删除,删除行
ActiveSheet.Copy After:=ActiveSheet
。然后旧工作表被重命名为新月份,而不是复制。你提到你想在新的一个月里删除销售数据,要么你手工做,要么你自己写代码,因为我不知道这些数据写在哪里。
希望这次能成功。