棘手的问题。 我有一个vba代码,它总结了行上的数值,只要上一个日期和较高行上的日期之间的差异小于30(一个月)。 date列标记为T.DATE,值列为T.SUM。 问题是excel有时使用美国日期格式,有时使用英国日期格式。例如,最后一个日期减去上面的日期等于-228而不是大约35天。有没有办法将整个列解读为一种日期格式(包括过去的条目)。我已经尝试了一切,包括改变整个范围的格式和使用文本到列。
代码如下:
Worksheets("transfers").Activate
Worksheets("tranfers").Range("K13:K230").Select
Selection.TextToColumns ' **[this part of the code tries to edit the date
format][1]** Destination:=Worksheets("transfers").Range("K13"),
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 4), TrailingMinusNumbers:=True
If IsNumeric(Worksheets("transfers").Range("L13").End(xlDown).Value) =
True Then
monthbiz = Worksheets("tranfsers").Range("L13").End(xlDown).Value
End If
Do Until monthcount > 30
tindex = tindex - 1
If IsDate(Worksheets("transfers").Range("K13").End(xlDown).Offset(tindex,
0).Value) = True Then
monthcount = Worksheets("tranfers").Range("K13").End(xlDown).Value -
Worksheets("transfers").Range("K13").End(xlDown).Offset(tindex, 0).Value
If monthcount < 30 Then
If
IsNumeric(Worksheets("transfers").Range("l13").End(xlDown).Offset(tindex,
0).Value) = True Then
monthbiz = monthbiz +
Worksheets("transfers").Range("K13").End(xlDown).Offset(tindex, 1).Value
End If
End If
Else
Exit Do
End If
Loop
提前感谢!