返回列表 上一主題 發帖

[發問] 如何使用VBA控制進階篩選,條件內容不固定

[發問] 如何使用VBA控制進階篩選,條件內容不固定

大大 請問:
如何用VBA控制進階篩選的條件列的列數(每次不固定,可能有兩個條件或三個條件)
資料來源的列數量也不固定,(每次都不同),請問如何控制?

2016-04-28_224102.png (18.2 KB)

2016-04-28_224102.png

20160428-sample.rar (8.89 KB)

回復 3# Hsieh

Hsieh大:

當我的準則跟資料範圍都是變動的,需要如何調整程式?
是將E4的"4"變成變數嗎?

TOP

大大:
333是對應兩個,資料KEYIN錯誤

TOP

回復 1# kim223824

333不是應該對應2個嗎?
  1. Sub ex()
  2. Set d = CreateObject("Scripting.dictionary")
  3. For Each A In Range([A4], [A4].End(xlDown))
  4. If A.Offset(, 3) <> "" Then
  5.   If d(A.Value) = "" Then
  6.      d(A.Value) = A & ":" & "," & A.Offset(, 3)
  7.      ElseIf InStr(d(A.Value), A.Offset(, 3)) = 0 Then
  8.      d(A.Value) = d(A.Value) & "," & A.Offset(, 3)
  9.   End If
  10. End If
  11. Next
  12. s = Split(Join(d.items, ","), ",")
  13. [I1].Resize(, UBound(s) + 1) = s
  14. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 1# kim223824
  1. Sub ex()
  2. Dim A As Range, B As Range
  3. Set A = Intersect([A1:E4], Range("A1").CurrentRegion) '準則
  4. Set B = Range([A5:E5], [A5:E5].End(xlDown)) '資料範圍
  5. B.AdvancedFilter xlFilterInPlace, A '原地篩選
  6. End Sub
複製代碼
學海無涯_不恥下問

TOP

挑選不重複的編號

大大:
問要如何挑選不重複的編號?
我試了好久只可以算出總個數,可是分不出單獨的編號,
請大大是否可以幫忙?函數或是VBA都可以。

2016-04-28_215831.png (12.75 KB)

2016-04-28_215831.png

20160428-sample.rar (5.48 KB)

TOP

        靜思自在 : 是非當教育,讚美作警惕。
返回列表 上一主題