Excel VBA在有时间时隔离唯一日期
我希望从一列日期中创建一个数组或一系列唯一日期,这些日期与时间相关。比如说Excel VBA在有时间时隔离唯一日期,vba,excel,Vba,Excel,我希望从一列日期中创建一个数组或一系列唯一日期,这些日期与时间相关。比如说 1/3/1984 0:15 1/3/1984 0:20 1/4/1984 0:25 1/4/1984 0:30 1/6/1984 0:35 1/6/1984 0:40 射程将返回 1/3/1984 1/4/1984 1/6/1984 谢谢你的帮助 不是错误处理的最佳解决方案,但它应该为您提供一组唯一的日期。添加具有相同密钥的另一个日期时,将生成并忽略错误。根据需要将集合转换为数组或范围 Sub uniqueD
1/3/1984 0:15
1/3/1984 0:20
1/4/1984 0:25
1/4/1984 0:30
1/6/1984 0:35
1/6/1984 0:40
射程将返回
1/3/1984
1/4/1984
1/6/1984
谢谢你的帮助 不是错误处理的最佳解决方案,但它应该为您提供一组唯一的日期。添加具有相同密钥的另一个日期时,将生成并忽略错误。根据需要将集合转换为数组或范围
Sub uniqueDates()
Dim inputRange As Range
Dim c As Collection
Dim cell As Range
Set inputRange = Range("A1:A6")
Set c = New Collection
On Error Resume Next
For Each cell In inputRange
c.Add DateValue(cell.Value), CStr(DateValue(cell.Value))
Next
On Error GoTo 0
End Sub
谢谢你,我要试试这个。我还有一个小问题。我有一个动态范围,可以根据数据集进行更改。我曾尝试使用“Dim rd作为范围Dim nr作为长集rd=图纸(“原始数据”)。范围(“b2”,范围(“b2”)。结束(xlDown))nr=rd.Rows.Count”,但我得到了1004error@Tree无法重新创建错误(即使第三行中的语法在我看来很奇怪)。也许可以问一个新问题,再加上一些细节,比如错误发生在哪一行。