Sub aa()
Dim arr, i As Long, dt As Date
dt = Date
arr = Range("A3:B" & Range("A65536").End(xlUp).Row)
For i = 1 To UBound(arr)
arr(i, 2) = VBA.DateDiff("yyyy", arr(i, 1), dt)
Next i
Range("B3").Resize(UBound(arr), 1) = Application.Index(arr, , 2)
End Sub
经过老师们指导,我加了修改,得到满意结果:
1恒星年等于365.25636日
1回归年 = 365.24219879日
Sub 算岁数vba()
Dim i&
For i = 1 To Sheet1.[a65536].End(xlUp).Row
Cells(i, 2) = Int((40786 - Cells(i, 1)) / 365.24219879)
Next
End Sub