感谢Siddharth Rout在这篇文章中,我学会了如何将工作表保存到新的工作表中。现在我的问题是如何添加文件创建的日期和时间,如:
TestSheet_25May2013_5pm.xls
Sub SaveSheet()
Dim FName As String
ActiveSheet.Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
Application.CutCopyMode = False
FName = "C:\Users\somebody\Documents\TestSheet" & Format(Range("E19"), "mmm-d-yyyy") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FName, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
能告诉我怎么做吗?
4条答案
按热度按时间jyztefdp1#
变更
到
如果要从
Range("E19")
中选取日期,请确保该单元格具有有效的日期。在这种情况下,代码变为q43xntqr2#
为了完成Siddharth的解决方案,下面是在文件名中包含时间的代码:
请注意,如果您希望时间向下舍入而不是仅四舍五入,您可以将
Round()
更改为Int()
。此外,请注意您将运行此操作的PC上的语言设置,因为日期格式取决于它。已编辑:更简单的解决方案
xqk2d5yq3#
我有下面的工作很好,但想扭转顺序。文件名第一,日期和时间第二。到目前为止还没有想出一个办法。
ws51t4hk4#
只是一个评论的人谁已经尝试和尝试,并试图让上述解决方案的工作,然后遇到了一个小细节,使不同。
根据您正在使用的其他代码,您可能需要使用“VBAFORMAT”来设置日期格式,因为您可能在编码中的另一个上下文中使用FORMAT。
在无法解决问题太久之后,才以正确的方式在谷歌上搜索问题后发现了这一点,希望你永远不会最终处理同样的事情:)