簡體   English   中英

計算VBA集合中的唯一值

[英]Counting unique values in a VBA collection

我有一個VBA集合,其中包含幾個File項(我創建了一個名為File的類模塊,具有幾個屬性)。 我很好奇是否有一種方法可以使用For循環遍歷集合中的所有項目並做兩件事:

  1. 根據我指定的File屬性獲取所有唯一項的列表
  2. 計算與上面列表中的每個唯一值匹配的項目數

例如,假設我的收藏夾中有4個文件項:

  • File1(File1.Pattern =“ Test * .xlsx”)
  • File2(File2.Pattern =“ Test * .xlsx”)
  • File3(File3.Pattern =“ Test * .txt”)
  • File4(File4.Pattern =“ Test * .csv”)

我想要的輸出是(理想情況下是數組或單獨的集合):

  • 測試* .xlsx(2)
  • 測試* .txt(1)
  • 測試* .csv(1)

關於如何實現這樣的想法?

只要您不需要在Mac上執行此操作:

Dim d, f, k
Set d = CreateObject("scripting.dictionary")

For Each f in myFiles
    d(f.Pattern) = d(f.Pattern)+1
Next f

For Each k in d
    Debug.Print k, d(k) 
Next k

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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