在dateVBA中用连字符replace正斜杠
我已经找遍了,通常find我的答案,但这是一个奇特的。 我必须格式化一个程序的date,以便在写入文件path的date没有正斜杠。 我能够在单元格中看起来像是使用连字符,但公式栏中的值仍然以反斜杠显示。
例如,今天的date可以input到单元格A1中作为“10/18/2017” ,它会出现在单元格中input为“10-18-2017” ,但是在公式栏中,当我得到该细胞仍然是10/18/2017 。 我提取的值如: Range("A1").value
下面是我正在使用的代码来尝试更改单元格的实际值。
Range("A1").NumberFormat = "mm-dd-yyyy"
这正是我上面提到的。 诱使用户认为他们解决了问题,但不是真的。 然后,我想我们只要更换/
字符…
Range("A1").value = Replace(Range("A1").value, "/", "-")
仍然没有骰子,没有任何我能find的interwebs。 对不起,如果这个答案,我search和search,即使在堆栈
使用Range("A1").Text
而不是Range("A1").Value
值得到任何格式应用到单元格。
在公式栏中显示的值与Excel中如何格式化date无关。
这是一个系统范围的设置,你需要通过控制面板>区域和语言来修改。
编辑:
而且,正如K.Davis在你的评论中所说,你可以简单地使用Format(rng, "mm-dd-yyyy")
命名这些文件。
您可以在代码中格式化string
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 Sub