我找遍了所有的答案,通常都能找到我的答案,但是这个答案很奇怪。我必须格式化一个程序的日期,以便它在写入文件路径的日期中没有正斜杠。我能够使单元格中的look显示为它使用的是连字符,但是公式栏中的值仍然用反斜杠显示。
例如,今天的日期可以作为" 10/18/2017“输入到单元格A1中,它会出现在输入为"10-18-2017”的单元格中,但在公式栏中,当我得到那个单元格的值时,它仍然是10/18/2017。我提取的值如下:Range("A1").value
下面是我用来尝试更改单元格的实际值的代码。
Range("A1").NumberFormat = "mm-dd-yyyy"这正是我上面提到的。欺骗用户,让他们认为他们解决了问题,但不是真的。然后我想让我们换掉/的角色.
Range("A1").value = Replace(Range("A1").value, "/", "-")仍然没有骰子,也没有我能在网上找到的任何东西。很抱歉,如果这个问题已经被回答了,我搜索和搜索,甚至在堆栈中。
发布于 2017-10-18 16:28:40
使用Range("A1").Text而不是Range("A1").Value,您可以得到应用于单元格的任何格式。
发布于 2017-10-18 16:33:11
公式栏中显示的值与如何在Excel中格式化日期无关。
这是一个系统范围的设置,您必须通过到Control > Region和Language来修改它。
编辑:
而且,正如K.Davis在您的评论中所说的,您可以简单地使用Format(rng, "mm-dd-yyyy")来命名文件。
发布于 2017-10-18 16:33:06
可以在代码中格式化字符串。
Sub SaveIt()
Dim s As String
s = Format(Range("A1"), "mm-dd-yy")
ActiveWorkbook.SaveAs Filename:="C:\Users\dmorrison\Downloads\" & s & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Subhttps://stackoverflow.com/questions/46814866
复制相似问题