VBA + 自动完成日期
VBA + autocomplete date
我有一个变量(值来自文本框),它是 dd/mm/yyyy 格式的日期。我想自动填充一些单元格,但它会更改年份而不是日期。我知道这是因为它不将其视为日期而是字符串。但是我找不到实现它的方法。这是一些试用版:
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 单元格的值,而是来自变量的值。
希望有人能指点一下。
提前致谢
为什么要将日期作为字符串输入 Range("A1")
?
试试这个,如果有帮助请告诉我:
Sub saas()
Range("A1").Value = DateValue("30/12/2015")
Range("A1").NumberFormat = "dd/mm/yyyy"
End Sub
我有一个变量(值来自文本框),它是 dd/mm/yyyy 格式的日期。我想自动填充一些单元格,但它会更改年份而不是日期。我知道这是因为它不将其视为日期而是字符串。但是我找不到实现它的方法。这是一些试用版:
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 单元格的值,而是来自变量的值。
希望有人能指点一下。 提前致谢
为什么要将日期作为字符串输入 Range("A1")
?
试试这个,如果有帮助请告诉我:
Sub saas()
Range("A1").Value = DateValue("30/12/2015")
Range("A1").NumberFormat = "dd/mm/yyyy"
End Sub