通过VBA Dictionary检查Array中的值

时间:2018-06-07 10:24:58

标签: vba dictionary variables

我正在尝试存储来自某列的唯一字符串值数组。但是,在代码运行时,我似乎无法访问数组中的值。您是否能够告诉我我需要哪些额外的代码行,以检查数组在实际运行时存储的内容,并最终将这些唯一值复制到另一个工作表?代码如下:

在列END DATE中查找唯一值,以检查是否需要导入多个日期:

Sub Find_Unique_Values()     
Dim PaceData(), UniqueValues As Variant, r As Long

With PaceDataSheet

PaceData = .UsedRange.value

Set UniqueValues = CreateObject("Scripting.Dictionary")
For r = 2 To UBound(PaceData)
    UniqueValues(PaceData(r, datecolumn.Column)) = Empty

Next r

End With

End Sub

任何帮助都非常感激。非常感谢!

1 个答案:

答案 0 :(得分:1)

但是,在代码运行时,我似乎无法访问数组中的值。 - 这是一种使用\n轻松完成此操作的方法,就像你的代码一样:

.UsedRange

Option Explicit Sub TestMe() Dim PaceData As Variant Dim someRange As Range Set someRange = Worksheets(1).UsedRange 'A1:C10 PaceData = someRange Dim myRows As Long: myRows = someRange.Rows.Count Dim myCol As Long: myCol = someRange.Columns.Count Dim cnt1 As Long Dim cnt2 As Long For cnt1 = 1 To myRows For cnt2 = 1 To myCol Debug.Print PaceData(cnt1, cnt2) Next cnt2 Next cnt1 End Sub 是"翻译"像这样的二维数组:

enter image description here

并且知道传递范围的UsedRangeRows.Count,我们得到尺寸。