簡體   English   中英

VBA從第18行開始的列表數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM