我已经搜遍过,通常会找到我的答案,但这个很奇怪。我必须格式化程序的日期,使其在日期中没有正斜杠来写入文件路径。我可以让单元格中的外观显示为使用连字符,但公式栏中的值仍会显示反斜杠。
例如,今天的日期可以输入到单元格A1中作为“10/18/2017”,它将出现在单元格中,它被键入为“10-18-2017”< / em>,但在公式栏中,当我得到该单元格的值时,它仍然是 10/18/2017 。
我正在提取像Range("A1").value
以下是我用来尝试更改单元格实际值的代码。
Range("A1").NumberFormat = "mm-dd-yyyy"
这完全是我上面提到的。诱使用户认为他们解决了问题,但并非如此。然后我想,让我们只替换/
字符......
Range("A1").value = Replace(Range("A1").value, "/", "-")
仍然没有骰子,也没有任何我能在网上找到的东西。对不起,如果已经回答,我搜索并搜索,即使在堆栈
答案 0 :(得分:1)
公式栏中显示的值与您在Excel中格式化日期的方式无关。
这是一个系统范围的设置,您必须通过转到控制面板&gt;进行修改。地区和语言。
编辑:
而且,正如K.Davis在您的评论中所说,您只需使用Format(rng, "mm-dd-yyyy")
来命名文件。
答案 1 :(得分:0)
使用Range("A1").Text
代替Range("A1").Value
,您可以获得应用于单元格的任何格式。
答案 2 :(得分:0)
您可以在代码中格式化字符串
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