我需要您的帮助,在一个Excel文件中创建宏,从今天的日期(即“2-6月-2015”)开始四天后清除工作表中的所有值,并保存它。因此,一旦用户在第五天打开Excel文件,工作表将为空白。
清除数据的代码是:
Sheet1.Cells.Clear但是我的问题是如何在四天后清除数据,并在第五天无法看到任何数据的情况下保存更改。
发布于 2015-06-02 13:08:00
这对你有用。DateDiff是一个很好的函数,它将返回您所选择的单位中两个日期之间的差异(年份、月份、天数、小时.),还可以通过FileDateTime获取文件的日期
Sub Workbook_Open()
If DateDiff("d", FileDateTime(ThisWorkbook.FullName), Now) >= 4 Then
Sheet1.Cells.Clear
ThisWorkbook.Save
End If
End Sub发布于 2015-06-02 13:17:56
我还没有机会对它进行测试,但我是否可以提出这样的建议:
Private Sub Workbook_Open()
Dim currDate As String, closeDate As String, fileDate As String
Dim oFS As Object, sFile As String
currDate = Date
closeDate = Date(Year(currDate); Month(currDate); Day(currDate)-4)
sFile = Application.ActiveWorkbook.Fullname
Set oFS = CreateObject("Scripting.FileSystemObject")
fileDate = oFS.GetFile(sFile).Datelastmodified
If fileDate <= closeDate Then
' Change argument passed to Sheets to whatever sheet you want to kill off
ActiveWorkbook.Sheets(1)Cells.Clear
End If
End Sub从这里借用了一些代码:https://stackoverflow.com/a/10823572/4604845
https://stackoverflow.com/questions/30596653
复制相似问题