如何从VBA中的单元格中提取格式化文本?

时间:2014-07-08 17:39:30

标签: excel vba

让我们说A1是一个格式化为" YYMMDD"然后我在单元格中输入7/7/2014。 单元格字符串更改为" 140707"但功能栏仍显示为"7/7/2014"

当我尝试编写此代码时:

Dim dateCell As String
dateCell = Cells(1, "A")

dateCell将等于"7/7/2014"而不是" 140707"

我希望单元格的格式化,以便当任何人输入日期时,它会自动将其更改为yymmdd。现在,我如何将文本dateCell等于140707而不是7/7/2014

我会非常感激!! 感谢

2 个答案:

答案 0 :(得分:2)

您可以在此处查看获取单元格中值的三种不同方法。在A1中添加日期,并在格式化时格式化。

Public Sub test()
 Dim r As Range
 Set r = Range("a1")
 MsgBox ("Value:[" & r.Value & "] Value2:[" & r.Value2 & "] Text:[" & r.Text & "]")
End Sub

在您的情况下,您需要文本。

答案 1 :(得分:0)

在VBA中,您可以将变量声明为类型Date而不是String,这将解决问题的这一部分。

在Excel中,您需要为" yyMMdd"指定自定义数字格式。 Excel将了解此单元格是其中的值的日期,并提取正确的年,月和日,并按照您的指定显示它。