返回列表 上一主題 發帖

關於Scripting.Dictionary除了過濾重複值,是否可以同時忽略空值?

關於Scripting.Dictionary除了過濾重複值,是否可以同時忽略空值?

問題.rar (55.16 KB)

正常時會過濾重複
1.png
2021-10-5 16:10


當出現空值時則異常
2.png
2021-10-5 16:07

3.png
2021-10-5 16:07


還是說不適合使用Scripting.Dictionary?

回復 1# av8d

建議空白可以直接排除,謝謝

TOP

回復 2# samwang


    說來慚愧,這段程式碼是由網路複製貼來的,
    我努力學習及理解中,謝謝抽空解答。

TOP

本帖最後由 av8d 於 2021-10-6 01:21 編輯

回復 2# samwang

研究了許久,也透過搜索"Scripting.Dictionary",查看了關於您的範例
但還是無法推敲出結果,還請賜教,

因為空值隨時會被填入資料,所以是否能暫時忽略,
但是當填入時,就會算入。

TOP

回復 4# av8d

因為空值隨時會被填入資料,所以是否能暫時忽略,
但是當填入時,就會算入。
>>更改如下,謝謝
For Each A In .Range("B4", .[B65536].End(xlUp))
            If A.Value = "" Then GoTo 99
            d(A.Value) = ""
  '只取B欄不重複值
            'd(A.Value) = IIf(d(A.Value) = "", A.Offset(, 1).Value, d(A.Value) & "," & A.Offset(, 1))
99:     Next

TOP

回復 5# samwang

  謝謝前輩,真的是豁然開朗,學習了許多新知識,由衷感謝。

TOP

For Each A In .Range("B4", .[B99].End(xlUp))
            'd(A.Value) = IIf(d(A.Value) = "", A.Offset(, 1).Value, d(A.Value) & "," & A.Offset(, 1))
            If A.Value <> "" Then d(A.Value) = "" '排除空值
Next
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

本帖最後由 av8d 於 2021-10-15 15:05 編輯

回復 7# ML089

使用後發現會保留空值一個,
原來也可以這樣寫,萬分感謝,學習了。

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題