我无法识别'VBA.Date'代码组件

时间:2014-01-28 23:05:06

标签: excel vba

我发现许多代码块包含VBA.Date,例如;

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Target.Offset(0, 1).Value = Format(VBA.Date, “MM/DD/YYYY”)
End Sub

或者

Sub YearSheets()
Dim i As Integer
i = 0
Do
Sheets.Add(After:=Sheets(Sheets.Count)).Name = Format(VBA.Date + i, “MM-DD-YYYY”)
i = i + 1
Loop Until i = 365
End Sub

我尝试过这些步骤:

  1. 我已推送 F1 获取VBA的帮助,但显示“未找到关键字”。

  2. 搜索我的VBA书籍,但没有人展示一些东西,因为他们把这样的信息视为不重要或太容易(我猜)。

  3. 我曾试图谷歌 - &gt;你可以想象一下这些常用词的组合会发生什么。

  4. 我在VBE窗口中按了 F2 并打开了对象浏览器
    一世。我搜索了VBA,我得到了图书馆...不是很明亮 II。我搜索了Date属性,发现它之前是DateTime模块,并且从VBA库中获得了更多的资历。

    问题来自于问题:是否有可能成为VBA库 VBA 。日期?

  5. 令人沮丧的事情发生了:一旦我键入VBE IntelliSense显示Date Property,所​​以它在我的机器中的某处硬编码。

    究竟是什么 VBA .Date - 一个对象,一个可以作为对象输入的库?

3 个答案:

答案 0 :(得分:3)

Date()和Time()是DateTime类的属性。在Excel VBA中找到。它们是DataType Variant,包含使用Date时的当前系统日期和使用Time时的当前系统时间。

为了使用它们,不需要在VBA或DateTime之前,它们可以简单地与术语日期和时间一起使用。

日期,如果日历是公历,则日历属性设置不会更改日期$行为。如果日历是Hijri,则Date $返回mm-dd-yyyy形式的10个字符的字符串,其中mm(01-12),dd(01-30)和yyyy(1400-1523)是Hijri月,日和年。等效的格里高利范围是1980年1月1日至2099年12月31日。

将来,您可以使用对象浏览器获取有关VBA语言的特定功能,属性,方法,类和其他成员的信息的最佳方法。

标记为对象浏览器,点击后将打开此窗口(也可以通过按 F2 访问)在此窗口中输入您要搜索的内容

enter image description here

您获得的结果会滚动并查找更具体的项目:

enter image description here

现在上图中有2个点:

1) At the bottom of the screen it gives basic detail about this item, in this case
   it states that it belongs to the `DateTime` Class, and is a property of that 
   class, and that it is a Variant. 

2) Also in the picture above I have right clicked on the item and selected Help from 
   the context menu, this will bring up even more details about this item.

enter image description here

正如您在此处所见,Microsoft已内置对此项的支持,并为您提供有关它的详细信息,将使用的数据类型以及返回的内容。此外,如何使用以及使用它时的一些常见注释!

答案 1 :(得分:1)

答案 2 :(得分:0)

在您的编辑器工具/参考资料中,您将看到“Visual Basic For Applications&#39;被选中。我绝对没有证据,但我的空闲猜想是,这是你的VBA.Date(和VBA,一切)所在。此外,您的F2调查显示了真相 - 它在那里的VBA模块中。请注意,您可以使用VBA.Date或仅使用Date,它们是相同的。

简而言之,它在工具/参考文献中引用的DLL文件中进行了硬编码。