Board logo

標題: [發問] 如何使用VBA控制進階篩選,條件內容不固定 [打印本頁]

作者: kim223824    時間: 2016-4-28 22:03     標題: 挑選不重複的編號

大大:
問要如何挑選不重複的編號?
我試了好久只可以算出總個數,可是分不出單獨的編號,
請大大是否可以幫忙?函數或是VBA都可以。
作者: kim223824    時間: 2016-4-28 22:46     標題: 如何使用VBA控制進階篩選,條件內容不固定

大大 請問:
如何用VBA控制進階篩選的條件列的列數(每次不固定,可能有兩個條件或三個條件)
資料來源的列數量也不固定,(每次都不同),請問如何控制?
作者: Hsieh    時間: 2016-4-29 00:17

回復 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
複製代碼

作者: Hsieh    時間: 2016-4-29 00:42

回復 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
複製代碼

作者: kim223824    時間: 2016-4-30 23:07

大大:
333是對應兩個,資料KEYIN錯誤
作者: kim223824    時間: 2016-5-1 19:07

回復 3# Hsieh

Hsieh大:

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)