- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
16#
發表於 2020-12-28 21:37
| 只看該作者
本帖最後由 luhpro 於 2020-12-28 21:43 編輯
回復 准提部林
不好意思,我轉擋了並再上傳,麻煩了
lovenice831 發表於 2020-12-28 10:49 
我覺得你的程式問題應該不在那裡喔.
以下是程式內容:- Sub Monthly()
- Dim xS As Worksheet, T$, i&, xE As Range
- Call clean
- Set xS = Sheets("Monthly")
- If xS.[j2] = "" Then MsgBox "please choose! ": Exit Sub
- For i = 1 To 3
- With Sheets(1)
- If .FilterMode Then .ShowAllData
- .[c8].AutoFilter Field:=1, Criteria1:=xS.[j2]
- Set xE = xS.Cells(Rows.Count, 1).End(xlUp)(5)
- .AutoFilter.Range.Offset(1, 2).Resize(, 30).Copy xE
- .ShowAllData
- End With
- Next i
- End Sub
複製代碼 我想問題應該在於 :
.[c8].AutoFilter Field:=1, Criteria1:=xS.[j2] 後面的 Criteria1:=xS.[j2],
你的篩選鍵值都是相同的(因為xS的[j2]的值不會變,在程式中這格子內的值必須由User手動做變更)
當初就不太了解你3個迴圈怎麼都是抓相同的資料?
現在依你的敘述,
我想你改成這樣試試:
Dim xS As Worksheet, T$, i&, xE As Range, vPro()
vPro = Array("A", "B", "C")
......
For i = 0 To 2
......
.[c8].AutoFilter Field:=1, Criteria1:=vPro(i) |
|