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

假设A1是格式化为“ YYMMDD ”的date,我在单元格中input7/7/2014 。 单元格string更改为“ 140707 ”,但function栏仍显示为"7/7/2014"

当我尝试写这个代码:

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

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

我希望单元格可以这样格式化,以便任何人在放入date时自动将其更改为yymmdd。 现在我如何将文本dateCell等于140707而不是7/7/2014

我将不胜感激!! 谢谢

你可以看到三种不同的方式来获取单元格中的值。 在A1中input一个date,然后格式化它。

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

在你的情况下,你想要的文字。

在VBA中,你可以声明一个variablestypes为Date而不是String来解决这个问题。

在Excel中,您需要将自定义数字格式指定为“yyMMdd”。 Excel将会明白,这个单元格是来自其中的值的date,并提取适当的年份,月份和date,并按照您的指定显示它。