你好,我正在使用这个过去的线程如何使用VBA获取当前年份
答案是使用Year(Date)
,所以我像这样实现它:
Dim a As Integer
a = Year(Date)
但是当我尝试使用它时,出现了一个错误
运行时13:类型不匹配
你好,我正在使用这个过去的线程如何使用VBA获取当前年份
答案是使用Year(Date)
,所以我像这样实现它:
Dim a As Integer
a = Year(Date)
但是当我尝试使用它时,出现了一个错误
运行时13:类型不匹配
DATEPART
。假设你想要获取年份的数据是有效的(从你提供的信息中难以得知)。并且这个具体的例子:MS EXCEL: DATEPART函数(VBA)
学习如何使用带有语法和示例的Excel DATEPART函数。
描述
Microsoft Excel DATEPART函数返回给定日期的指定部分。
语法
Microsoft Excel DATEPART函数的语法为:
DatePart(interval, date, [firstdayofweek], [firstweekofyear])
DatePart("yyyy", "15/10/2012")将返回2012
Datepart
功能完美。谢谢。 - sharkantipav我猜测您的类型不匹配错误出现在其他地方,因为Year(Date)
是有效的。另一个选项是使用Year(Now)
我猜测您声明了一个奇怪的变量来赋值,因为VBA会为您进行许多奇怪的强制转换。
Dim a As String
a = Year(Now) ' "2014"
Dim b As Double
b = Year(Now) '2014
Dim c As Integer
c = Year(Now) '2014
Dim d As Date
d = Year(Date) '#7/6/1905#
Dim e
e = Year(Now) ' 2014 (implicitly cast to integer)
确保你在模块的顶部设置了 Option Explicit
并编译代码。
a=Year(Date)
这样的东西,但还是出现了同样的错误。 - sharkantipav
Year(Date)
是有效的语法。问题很可能在于赋值。 - psubsee2003DatePart
代码后得到了解决。 - psubsee2003VBA.Year(Date)
。或者可能是由于缺少了一个库引用。(在 VBE 中的“工具”>“引用”下进行查看)。 - David Zemens