如何使用VBA在单元格中以特定格式生成随机date?

我的一段代码如下所示

Dim num As Integer Dim dblRandBetween As Double Dim startDate As Date, endDate As Date startDate = "1/1/1990" endDate = "1/1/2012" num = InputBox("How Many IC numbers need to be generated") For i = 1 To num Set curCell = Worksheets("Sheet1").Cells(i, 3) dblRandBetween = WorksheetFunction.RandBetween(startDate, endDate) ActiveCell.Value = dblRandBetween ActiveCell.Value.NumberFormat = "d/m/yyyy" ActiveCell.Offset(1, 0).Activate Next i 

我碰到“运行时错误:438”:对象不支持这个属性或方法。

这就像改变一样简单:

 ActiveCell.Value.NumberFormat = "d/m/yyyy" 

 ActiveCell.NumberFormat = "d/m/yyyy" 

由于数字格式必须应用于活动单元格而非值。

也许尝试完整编辑如下:

 Dim num As Integer Dim dblRandBetween As Double Dim startDate As Date, endDate As Date startDate = "1/1/1990" endDate = "1/1/2012" num = InputBox("How Many IC numbers need to be generated") For i = 1 To num dblRandBetween = WorksheetFunction.RandBetween(startDate, endDate) With Worksheets("Sheet1").Cells(i, 3) .Value = dblRandBetween .NumberFormat = "d/m/yyyy" End With Next i