首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在date VBA中用连字符替换正斜杠

在date VBA中用连字符替换正斜杠
EN

Stack Overflow用户
提问于 2017-10-18 16:23:42
回答 3查看 5.9K关注 0票数 0

我找遍了所有的答案,通常都能找到我的答案,但是这个答案很奇怪。我必须格式化一个程序的日期,以便它在写入文件路径的日期中没有正斜杠。我能够使单元格中的look显示为它使用的是连字符,但是公式栏中的仍然用反斜杠显示。

例如,今天的日期可以作为" 10/18/2017“输入到单元格A1中,它会出现在输入为"10-18-2017”的单元格中,但在公式栏中,当我得到那个单元格的值时,它仍然是10/18/2017。我提取的值如下:Range("A1").value

下面是我用来尝试更改单元格的实际值的代码。

代码语言:javascript
复制
Range("A1").NumberFormat = "mm-dd-yyyy"

这正是我上面提到的。欺骗用户,让他们认为他们解决了问题,但不是真的。然后我想让我们换掉/的角色.

代码语言:javascript
复制
Range("A1").value = Replace(Range("A1").value, "/", "-")

仍然没有骰子,也没有我能在网上找到的任何东西。很抱歉,如果这个问题已经被回答了,我搜索和搜索,甚至在堆栈中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-18 16:28:40

使用Range("A1").Text而不是Range("A1").Value,您可以得到应用于单元格的任何格式。

票数 0
EN

Stack Overflow用户

发布于 2017-10-18 16:33:11

公式栏中显示的值与如何在Excel中格式化日期无关。

这是一个系统范围的设置,您必须通过到Control > Region和Language来修改它。

编辑:

而且,正如K.Davis在您的评论中所说的,您可以简单地使用Format(rng, "mm-dd-yyyy")来命名文件。

票数 1
EN

Stack Overflow用户

发布于 2017-10-18 16:33:06

可以在代码中格式化字符串。

代码语言:javascript
复制
    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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46814866

复制
相关文章

相似问题

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