[英]vba list array from row 18 onwards?
我有以下代碼,該代碼列出了數組中的唯一值:
Sub LIST()
Dim arr As New Collection, a
Dim aFirstArray() As Variant
Dim i As Long
aFirstArray() = Array("Banana", "Apple", "Orange", "Tomato", "Apple", _
"Lemon", "Lime", "Lime", "Apple")
On Error Resume Next
For Each a In aFirstArray
arr.Add a, a
Next
For i = 18 To arr.Count
Cells(i, 3) = arr(i)
Next
End Sub
我想從第18行開始列出這些值,但是當我設置I = 18時,這行不通。 請有人能告訴我我要去哪里錯嗎?
您可以切換到Dictionary對象並利用其Keys屬性:
Sub LIST()
Dim aFirstArray() As Variant, a As Variant
aFirstArray() = Array("Banana", "Apple", "Orange", "Tomato", "Apple", "Lemon", "Lime", "Lime", "Apple")
With CreateObject("Scripting.Dictionary")
For Each a In aFirstArray
.Item(a) = a
Next
Cells(18, 3).Resize(.Count) = Application.Transpose(.Keys)
End With
End Sub
或在以下情況下刪除重復項:
arr = Array("Banana", "Apple", "Orange", "Tomato", "Apple", "Lemon", "Lime", "Lime")
Set r = [C18].Resize(UBound(arr) + 1)
r = Application.Transpose(arr)
r.RemoveDuplicates 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.