返回列表 上一主題 發帖

vba特殊多重篩選

vba特殊多重篩選

有幾個篩選資料的問題,我一直想不出解決的方法,想麻煩大家集思廣益幫我想想該怎麼做。
資料大概有幾萬筆,我要將其中滿足下列四個條件(四條件全都符合)的每一組(每一組都有4筆資料)資料都挑選出來放在另一張工作表。四條件如下:
k.png
2016-5-8 08:49

變數代號:
code=資料編碼,
t0=日期編碼(1~1065),
T=到期日編碼(1~121),
cp=選擇權型態(C=1,P=2),
K=履約價格,
prem=權利金       

我有自己試著使用autofilter來解決條件一和條件二,但仍遇到困難。程式碼如下:
  1. Sub morecriteriafilter()
  2. Dim i As Integer, j As Integer
  3. With Worksheets("be")
  4. For i = 0 To 1063
  5.             For j = 0 To 130
  6.         If .FilterMode = True Then .ShowAllData
  7.         .Range("A1").AutoFilter Field:=2, Criteria1:="<" & 3 + i, Operator:=xlAnd, Criteria2:=">" & 0 + i
  8.         .Range("A1").AutoFilter Field:=3, Criteria1:="=" & 1
  9.         .Range("A1").AutoFilter Field:=5, Criteria1:=Cells(j + 2, 10)
  10.         .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Worksheets("Sheet2").Range("B2").Offset(7 * i, 7 * j)
  11.         Next j
  12.      Next i
  13. End With
  14. End Sub
複製代碼
困難一: 沒有解決條件三和條件四!!!
困難二: 可能是使用for…next的關係,處理速度很慢,i=0 to 100左右就會當機在那裡,可是我的資料量很大(i=0 to 1065)

想不出解決的方法QAQ,尤其是條件三和條件四,請高手指點一二。

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題