返回列表 上一主題 發帖

[發問] VBA 移動儲存格位置,另存新檔及刪除

回復  准提部林
謝謝幫忙,但我不知出現什麼問題,試著試著,現在全都用不到,麻煩幫忙查看一下,謝謝
...
lovenice831 發表於 2020-12-26 20:13

Monthly程式.jpg
2020-12-27 16:45


.[c8].AutoFilter Field:=1, Criteria1:=xS.[j2]

試試看...

TOP

回復 11# luhpro


    先謝過,我試轉1 ,但轉一後只能顯示A 的結果,B 和C 的都依然是空白

TOP

回復 10# 准提部林

不好意思,我轉擋了並再上傳,麻煩了  
test Inventory.rar (237 KB)

TOP

回復 13# lovenice831


一樣打不開,
WITH SHEETS(1)
應該是
WITH SHEETS(i)

TOP

回復 14# 准提部林
好的,我再試一下,不好意思,麻煩你了

TOP

本帖最後由 luhpro 於 2020-12-28 21:43 編輯
回復  准提部林

不好意思,我轉擋了並再上傳,麻煩了
lovenice831 發表於 2020-12-28 10:49

我覺得你的程式問題應該不在那裡喔.

以下是程式內容:
  1. Sub Monthly()
  2. Dim xS As Worksheet, T$, i&, xE As Range
  3. Call clean
  4. Set xS = Sheets("Monthly")
  5. If xS.[j2] = "" Then MsgBox "please choose!  ": Exit Sub
  6. For i = 1 To 3
  7.     With Sheets(1)
  8.          If .FilterMode Then .ShowAllData
  9.          .[c8].AutoFilter Field:=1, Criteria1:=xS.[j2]
  10.           Set xE = xS.Cells(Rows.Count, 1).End(xlUp)(5)
  11.          .AutoFilter.Range.Offset(1, 2).Resize(, 30).Copy xE
  12.          .ShowAllData
  13.          End With
  14. Next i
  15. 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)

TOP

回復 16# luhpro


    謝謝你的解答,整體來說我之所以要三個迴圈是因為一個分頁等於一條生產線,每月尾都需要把各牌子的貨物分別做成月結表,所以需要這樣迴圈,謝謝幫忙

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題