2

これは私のコードです

openWs.AutoFilterMode = False
Range("A1").AutoFilter Field:=1, Criteria1:= _
">=" & date1, Operator:=xlAnd, Criteria2:="<=" & date2
Range("A1").AutoFilter Field:=4, VisibleDropDown:=False
Range("A1").AutoFilter Field:=5, VisibleDropDown:=False
Range("A1").AutoFilter Field:=6, VisibleDropDown:=False
Range("A1").AutoFilter Field:=7, VisibleDropDown:=False
Range("A1").AutoFilter Field:=8, VisibleDropDown:=False
cnt = ActiveSheet.UsedRange.Rows.count
arr() = openWs.Range("A2:H" & cnt).Rows.SpecialCells(xlCellTypeVisible).Value 'Supplier

AutoFilter には 40 個のレコードがあることが示されていましたが、.SpecialCells(xlCellTypeVisible) を使用すると、そこから約 20 個のレコードを取得できます。レコードを確認した後、date2 と一致する最後の範囲を常に返すことがわかりました。範囲が無視された後、なぜですか?

//フィルター後のサンプルデータ

フィルタ範囲 20130101 - 20130107

20130104    7339/01/13  13006015    CN  -250000 -639442350.6  //Success
20130107    7346/01/13  13002022    DN  1200000 -639442350.6 //Success
//data below all ignore after hitting 20130107, only return data above target
20130104    7340/01/13  13006016    CN  -300000 118968559.6 //Failed
20130107    7340/01/13  13006016    CN  -300000 118968559.6 //Failed

私は何か間違ったことをしていますか?Excel はフィルターの後に表示されるものすべてを自動的に返すと思っていましたが、同じフィルターを適用しているように見えますか? 何か案が?

更新 1 Siddharth Rout コードを適用した後、より多くのサンプル データ

CP0001  20130103    I/TAX - 12TH INST YA2012    13012000    PR  -180000 0
CP0001  20130103    I/TAX - 12TH INST YA2012    13014000    PPR 180000  0
HH2000  20130102    7324/01/13  13006000    CN  -100000 -639442350.6
HH2000  20130102    7325/01/13  13002001    DN  1500000 -639442350.6
HH2000  20130103    7326/01/13  13006002    CN  -17000000   -639442350.6
HH2000  20130103    7348/01/13  13006024    CN  -3000000    -639442350.6
HH2000  20130104    7327/01/13  13006003    CN  -10000000   -639442350.6
HH2000  20130104    7328/01/13  13006004    CN  -10000000   -639442350.6
HH2000  20130104    7329/01/13  13006005    CN  -500000 -639442350.6
HH2000  20130104    7330/01/13  13006006    CN  -1500000    -639442350.6
HH2000  20130104    7331/01/13  13006007    CN  -1000000    -639442350.6
HH2000  20130104    7332/01/13  13006008    CN  -3000000    -639442350.6
HH2000  20130104    7333/01/13  13006009    CN  -135000 -639442350.6
HH2000  20130104    7334/01/13  13006010    CN  -5000000    -639442350.6
HH2000  20130104    7335/01/13  13006011    CN  -31099000   -639442350.6
HH2000  20130104    7336/01/13  13006012    CN  -7000   -639442350.6
HH2000  20130104    7337/01/13  13006013    CN  -5000   -639442350.6
HH2000  20130104    7338/01/13  13006014    CN  -700000 -639442350.6
HH2000  20130104    7339/01/13  13006015    CN  -250000 -639442350.6
HH2000  20130107    7341/01/13  13006017    CN  -4563000    -639442350.6
HH2000  20130107    7343/01/13  13006019    CN  -1800000    -639442350.6
HH2000  20130107    7344/01/13  13002020    DN  800000  -639442350.6
HH2000  20130107    7345/01/13  13002021    DN  900000  -639442350.6
HH2000  20130107    7346/01/13  13002022    DN  1200000 -639442350.6 //it stop here, below all ignore by excel
HH2030  20130104    7338/01/13  13002014    DN  700000  5318670.54
HH2100  20130104    7340/01/13  13006016    CN  -300000 118968559.6
HH2100  20130107    7342/01/13  13006018    CN  -980000 118968559.6
HH2101  20130107    7347/01/13  13006023    CN  -300000 -12587577.27
4

1 に答える 1