macros在四天后清除表单值
我需要您的帮助,在Excel文件中创buildmacros,从今天的date(“2015年6月2日”)四天后清除名为“Sheet1”的表中的所有值,并保存它。 因此,一旦用户在第五天打开Excel文件,表格将是空白的。
清除数据的代码是:
Sheet1.Cells.Clear
但我的问题是如何在四天后清除数据,并保存更改与用户无法看到任何数据在第五天。
这将为你工作。 DateDiff
是一个很好的函数,可以返回您select的单位(年,月,日,小时…)中两个date之间的差异,也可以通过FileDateTime
获取文件的date
Sub Workbook_Open() If DateDiff("d", FileDateTime(ThisWorkbook.FullName), Now) >= 4 Then Sheet1.Cells.Clear ThisWorkbook.Save End If End Sub
我还没有机会testing它,但我可以build议这样的事情:
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