一列上的混合日期格式

时间:2018-02-19 13:04:40

标签: excel vba date

棘手的问题。 我有一个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

提前感谢!

0 个答案:

没有答案