xlfillseries不能在vba的用户表单中工作吗?

我正在尝试根据用户窗体上的文本框中的值自动填充连续date。 然而,当代码运行时,该值只是复制到相邻的文本框中。 (即C2的值为2-5月,C3的值为2-5月等)

为什么这不起作用?

datetxtbx.Value = Format(Now, "d-mmm") Range("C2").Value = datetxtbx Range("C2").Select Selection.AutoFill Destination:=Range("C2:I2"), Type:=xlFillSeries 

你特别把文字看起来像date一样放入一个单元格,并期待它像一个真正的数字date。 你可能会把abc放到一个单元格中,并尝试将其填充到相邻的单元格中。 你最终会得到一堆abc的。

以下将当前date作为string放入文本框的值中。 在将它放入C2之前,它将文本看起来像date一样转换为真正的date。 如果您想在C2中显示真实的date,则需要设置单元格的数字格式。 在此之后,.AutoFill会将C2中的datesorting到规定的目标单元格中​​,并将单元格格式化。

 datetxtbx.Value = Format(Date, "d-mmm") Range("C2").Value = CDate(datetxtbx) Range("C2").NumberFormat = "d-mmm" Range("C2").AutoFill Destination:=Range("C2:I2"), Type:=xlFillSeries 

请注意,我已经更改了您的现在datedate是当前date; 现在是当前date和时间。 看来你真的只想要当前的date。