2014-01-28 98 views
0

我发现的包含VBA.Date,例如代码许多块;我无法识别“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. 我曾尝试谷歌它 - >你能想象用这样的普通单词的组合会发生什么。

  4. 我已经在VBE窗口推F2,打开对象浏览器
    我。我搜索了VBA,并且我得到了库...不是很亮
    ii。我搜索了Date Property,我发现它之前是DateTime模块,并且从VBA库中获取更多资源。

    问题产生的问题:这里可能是VBA库吗VBA .Date?

让人沮丧的事情,也就是说,发生了:当我键入VBE智能感知显示日期属性,因此它的硬编码在我的机器上的某个地方。

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

+0

确保在编程时不要“错过树林”。 –

+0

是的!我是一个细节怪胎,我能说什么......?这就是我如何以最优惠的价格购买最有价值的鸟类:P – ExoticBirdsMerchant

回答

1
+0

是的,但是VBA组件是一个对象吗?什么是。在你有的链接中,我看不到任何VBA的例子(某些东西),所以我可以找出它是什么...以及我知道我们有对象,属性,功能,请你详细说明你是什么意思说类型(?)请告诉我什么是** VBA **。日期在这里...................是所有它被称为类型为 - - > VBA.Date <--- – ExoticBirdsMerchant

+0

把它们想象成写在VBA“类”上的“静态”函数,它返回一个Date对象或一个Time对象,除了你实际上不必说' VBA.Date'(你可以简单地说Date,而VBA会从上下文中发现你的意思是'VBA.Date')。 –

+0

亲爱的罗伯特哈维我可以理解它会给我一个日期对象或时间对象。我也明白,他们可以独立作为日期()和时间(),但我真的想弄清楚的是:什么** VBA **。(东西)在代码中..?那么我经常在代码块中看到它,而我不知道这会不断让我不快,所以VBA是一个类?这是否意味着它是一个对象? (因为你现在可能已经想清楚了,这点对我来说有点难以理解:P) – ExoticBirdsMerchant

0

在您的编辑器工具/参考中,您会看到“Visual Basic For Applications”被选中。我绝对没有证据,但是我的闲言碎语是,这就是你的VBA.Date(和VBA,一切)所在。此外,您的F2调查显示了您的真相 - 它在VBA模块中。请注意,您可以使用VBA.Date或仅使用Date,它们是相同的。

总之它在工具/引用提到了DLL文件的硬编码。

3

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

他们并不需要由VBA或日期时间才能preceeded使用它们可以简单地用术语日期和时间使用。

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

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

标记一个是对象浏览器,点击时会打开这个窗口,在此窗口中输入要搜索的内容

enter image description here

一个你(它也可以按F2访问)得到的结果翻阅,寻找一个更具体的项目:

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

正如你可以在这里看到微软已经内置了对这个项目的支持,并为您提供有关它是什么细节,它会用什么数据类型和返回结果是什么。另外,当你使用它时,如何使用和一些常见的注释!

+0

是的,但** VBA **。(东西)在代码中代表什么?......作为一个对象?抱歉的持久性,但我已经看到了这种表达在各种代码块,我总是想知道它是如何站立,当我看到它...我想这是得到一点恶作剧 – ExoticBirdsMerchant

+0

正如我在我的答案中所述它是函数返回一个Variant。不是一个对象。 – user2140261

+0

为什么'VBA.Date'工作?那里有别名吗? –