VBA +自动完成date

我有一个variables(值来自文本框),这是一个日/月/年/月的格式。 我想自动填充一些单元格,但它改变了一年而不是一天。 我知道这是因为它不把它看作一个date,而是一个string。 但是我没有find一个可以做到的事情。 这是一些试用:

Sub tryout() 'result: 30/12/2015 30/12/2016 30/12/2017 30/12/2018 30/12/2019 30/12/2020 30/12/2021 30/12/2022 30/12/2023 Range("A1").Value = "30/12/2015" Range("A1").Select Selection.AutoFill Destination:=Range("A1:I1"), Type:=xlFillDefault 'result: 30/12/2015 30/12/2016 30/12/2017 30/12/2018 30/12/2019 30/12/2020 30/12/2021 30/12/2022 30/12/2023 Range("A2").Value = "30/12/2015" Range("A2").NumberFormat = "dd/mm/yyyy" Range("A2").Select Selection.AutoFill Destination:=Range("A2:I2"), Type:=xlFillDefault 'result: 30/12/2015 30/12/2016 30/12/2017 30/12/2018 30/12/2019 30/12/2020 30/12/2021 30/12/2022 30/12/2023 Range("A5").Value = Format("30/12/2015", "dd/mm/yyyy") Range("A5").Select Selection.AutoFill Destination:=Range("A5:I5"), Type:=xlFillDefault 'result: 30/12/2015 31/12/2015 01/01/2016 02/01/2016 03/01/2016 04/01/2016 05/01/2016 06/01/2016 07/01/2016 Range("A3").NumberFormat = "dd/mm/yyyy" Range("A3").Select Selection.AutoFill Destination:=Range("A3:I3"), Type:=xlFillDefault End Sub 

最后一个是我需要的,但不是来自Excel单元格的值,而是来自variables。

我希望有人能给我一些指点。 提前致谢

你为什么要把dateinput到Range("A1")作为一个string?

试试这个,让我知道是否有帮助:

 Sub saas() Range("A1").Value = DateValue("30/12/2015") Range("A1").NumberFormat = "dd/mm/yyyy" End Sub