首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >宏在四天后清除工作表值

宏在四天后清除工作表值
EN

Stack Overflow用户
提问于 2015-06-02 12:50:37
回答 2查看 850关注 0票数 1

我需要您的帮助,在一个Excel文件中创建宏,从今天的日期(即“2-6月-2015”)开始四天后清除工作表中的所有值,并保存它。因此,一旦用户在第五天打开Excel文件,工作表将为空白。

清除数据的代码是:

代码语言:javascript
复制
Sheet1.Cells.Clear

但是我的问题是如何在四天后清除数据,并在第五天无法看到任何数据的情况下保存更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-02 13:08:00

这对你有用。DateDiff是一个很好的函数,它将返回您所选择的单位中两个日期之间的差异(年份、月份、天数、小时.),还可以通过FileDateTime获取文件的日期

代码语言:javascript
复制
Sub Workbook_Open()
    If DateDiff("d", FileDateTime(ThisWorkbook.FullName), Now) >= 4 Then
        Sheet1.Cells.Clear
        ThisWorkbook.Save
    End If
End Sub
票数 0
EN

Stack Overflow用户

发布于 2015-06-02 13:17:56

我还没有机会对它进行测试,但我是否可以提出这样的建议:

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30596653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档