|
Sub 工龄()
m = Cells.Find("*", , , , , xlPrevious).Row
For i = 3 To m
If Range("b" & i) Like "*年*" Then
mmy = InStr(Range("b" & i), "年") + 1
mmw = InStr(Range("b" & i), "月")
n = Mid(Range("b" & i), mmy, mmw - mmy)
arr = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二")
nn = Application.Match(n, arr, 0)
mm = Left(Range("b" & i), 4)
hi = VBA.DateSerial(mm, nn, 1)
mw = VBA.DateDiff("m", hi, Date)
my = Int(mw / 12)
zz = mw Mod 12
Range("h" & i) = zz
Range("g" & i) = my
If zz = 0 Then
Range("i" & i) = my & "年整"
Else
Range("i" & i) = my & "年零" & zz & "个月"
End If
Else
mw = VBA.DateDiff("m", Range("b" & i), Date)
my = Int(mw / 12)
zz = mw Mod 12
Range("h" & i) = zz
Range("g" & i) = my
If zz = 0 Then
Range("i" & i) = my & "年整"
Else
Range("i" & i) = my & "年零" & zz & "个月"
End If
End If
Next
End Sub |
|