【发布时间】:2018-03-04 10:14:16
【问题描述】:
此宏计算工作经历的第一个日期和最后一个日期之间的年数。我完成了这项工作,但是以一种奇怪的格式获得了这个数字(就像一个日期而不是一个数字)。看起来可能有什么问题。 在此先感谢您的 cmets。
Sub CuentaExperiencia()
Worksheets("Candidatos").Activate
'esta macro contabiliza los años de experiencia sumados
Range("T2").Select
Do Until ActiveCell.Offset(0, -18).Value = ""
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = DateDiff("d", (ActiveCell.Offset(0, -2)), (ActiveCell.Offset(0, -1)))
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("AE2").Select
Do Until ActiveCell.Offset(0, -29).Value = ""
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = DateDiff("d", (ActiveCell.Offset(0, -2)), (ActiveCell.Offset(0, -1)))
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("AP2").Select
Do Until ActiveCell.Offset(0, -40).Value = ""
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = DateDiff("d", (ActiveCell.Offset(0, -2)), (ActiveCell.Offset(0, -1)))
End If
ActiveCell.Offset(1, 0).Select
Loop
Range("BA2").Select
Do Until ActiveCell.Offset(0, -51).Value = ""
If ActiveCell.Value = "" Then
ActiveCell.FormulaR1C1 = DateDiff("d", (ActiveCell.Offset(0, -2)), (ActiveCell.Offset(0, -1)))
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub
【问题讨论】:
-
将单元格格式改为
General -
此外,您还返回
"d"的日子,将其更改为"y"多年。 -
将此数字粘贴到单元格
43000.8067708333,然后将单元格格式更改为date,然后将单元格格式更改为time...日期和时间实际上存储为数字。 .... 整数部分 (43000) 是日期。小数部分是一天中的时间 -
您也可以在表格中使用 DATEDIF 公式:support.office.com/en-us/article/…
标签: excel vba date time offset