返回列表 上一主題 發帖

[發問] 自動套表

回復 23# 准提部林

准大好,

不好意思,這個新表格是這幾天才啟用,發現格式沒做好,要更改如下
另外 表格中取出的瓶數及箱數 數值都不正確,我把正確答案列出,也請幫忙修正...再次感謝
最新庫存A_2.rar (178.15 KB)

TOP

回復 22# PJChen

Sub 廠缺匯總_匯入()
Dim Arr, R&, 廠缺數&, 入數&, N&
Call 廠缺匯總_清除
Arr = Range([飛比!A1], [飛比!BI65536].End(xlUp))
For R = 4 To UBound(Arr)
    廠缺數 = Val(Arr(R, UBound(Arr, 2)))
    入數 = Val(Arr(R, 7))
    If 廠缺數 * 入數 = 0 Then GoTo 101
    N = N + 1
    Arr(N, 1) = Arr(R, 6)
    Arr(N, 2) = Arr(R, 5)
    Arr(N, 3) = Arr(R, 8)
    Arr(N, 4) = 入數
    Arr(N, 5) = 廠缺數 Mod 入數
    Arr(N, 6) = Int(廠缺數 / 入數)
101: Next R
If N = 0 Then Exit Sub
With [廠缺匯總!A3:F3].Resize(N)
     .Rows(1).Copy .Cells
     .Value = Arr
End With
End Sub


Sub 廠缺匯總_清除()
With Sheets("廠缺匯總")
    .UsedRange.Offset(3, 0).EntireRow.Delete
    .[A3:F3].ClearContents
End With
End Sub


============================

TOP

大大好,

最近有一個新的表格需求: 將廠缺資料匯總,條件為以下,請問VBA要如何寫?
1..        飛比BI欄大於0的資料,填入A3:F
2..        A3:F資料值化
3..        將第3列的格式向下複製
廠缺匯總.rar (179.22 KB)

TOP

本帖最後由 PJChen 於 2020-3-1 19:54 編輯

回復 20# 准提部林
准大,
執行後發現報表改成了訂單統計而不是缺料表,它的應抓取範圍是AP:BH

我主要是想了解您之前回覆的程式
For C = 45 To UBound(Arr, 2)
    Ck = 0
    If Arr(3, C) = "劃單合計" Then Exit For  '加入這一行, 以[劃單合計]判斷廠缺欄位的結束點
這個方式,我試不出來,想知道要怎麼修改

以下是之前程式run的結果,我只是想要加入紅字的部份 & 檔案 廠缺表_amd3.rar (184.24 KB)

TOP

回復 19# PJChen

測試檔:
廠缺_v02.rar (80.72 KB)

TOP

回復 15# 准提部林
Dear准大,
重新整理一下...
1) 執行廠缺表後會出現自動加總,我想加個"合計",請問在程式哪個地方可以加入?
2) 廠缺表.sheet A欄加入料號,如果要大幅修改程式、不好做的話,就算了!我再自己手動加入
3) 廠缺表 F:G(箱瓶)如何讓它自動計算後,變成值,不要有公式?加總欄也是...

TOP

回復 1# PJChen

我不會VBA,只能用其他方法做出類似的給您參考。
主要是用資料-從表格/範圍  利用出貨sheet內容以Power Query 編輯器去整理資料,
最後再用樞紐分析表去產生補貨明細。
以上,大致內容如附件
自動套表-查詢與樞紐分析.zip (54.33 KB)

TOP

回復 15# 准提部林
補充:
廠缺表.sheet A欄的料號,不知能否讓它一併出現?

TOP

回復 15# 准提部林
這陣子因為作業內容有變動,所以表格也大幅修改,請幫忙看下....
1)  For C = 45 To UBound(Arr, 2)
  改成 For C = 45 To 60
這個方法測試後OK,
在執行廠缺表後會出現自動加總(目前在第8列)
我想加個"合計",請問在程式哪個地方可以加入?

2) 另外這個方式,我還試不出來,請問我加入的地方是否不對?
For C = 45 To UBound(Arr, 2)
    Ck = 0
    If Arr(3, C) = "劃單合計" Then Exit For  '加入這一行, 以[劃單合計]判斷廠缺欄位的結束點
3rd_廠缺表.rar (286.86 KB)

TOP

回復 14# PJChen

看不懂你的問題,
1)若要資料放在"自動廠缺表",
  將 Sheets("廠缺表") 改成 Sheets("自動廠缺表")
2)廠缺欄位數若是固定的:
  For C = 45 To UBound(Arr, 2)
  改成 For C = 45 To 60

或
For C = 45 To UBound(Arr, 2)
    Ck = 0
    If Arr(3, C) = "劃單合計" Then Exit For  '加入這一行, 以[劃單合計]判斷廠缺欄位的結束點

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題