返回列表 上一主題 發帖

[發問] 填入廠缺&註解

本帖最後由 准提部林 於 2020-4-26 10:22 編輯

回復 4# PJChen


1)  xR = "=" & Val(xR) & "-" & Arr(i, j)
    或 xR = "=" & IIf(Val(xR) = 0, "", xR) & "-" & Arr(i, j)

2)  FN = "月庫存表.xlsx"

TOP

回復 3# 准提部林

& 第2個問題
因程式與平日檔案不放在一起的,所以我稍修改以下程式,但無法運作:
P.S. 原訂單值 對應儲存格 若無廠缺發生,則 保持現狀 (只有原訂單值)
  1. Sub 廠缺註解()
  2. Dim Sht As Worksheet, PH$, FN$, xB As Workbook, xS As Worksheet
  3. Dim xD, xR As Range, Arr, R&, C&
  4. Application.ScreenUpdating = False
  5. Application.Calculation = xlManual
  6. Set Sht = Sheets("飛比")
  7. FN = "月庫存表.xls": PH = "T:\範例\"
  8. On Error Resume Next: Set xB = Workbooks(FN): On Error GoTo 0
  9. If xB Is Nothing Then Set xB = Workbooks.Open(PH & FN)
  10. 'ThisWorkbook.Activate
  11. xB.Activate
  12. On Error Resume Next: Set xS = xB.Sheets(Day(Sht.[H1]) & ""): On Error GoTo 0
  13. If xS Is Nothing Then MsgBox "〔日庫存表〕不存在! ": Exit Sub
  14. If xS.[J2] = "***" Then MsgBox "本日庫存已扣除! ": Exit Sub
複製代碼

TOP

本帖最後由 PJChen 於 2020-4-25 21:58 編輯

回復 3# 准提部林

准大好,
填入"月庫存表"的廠缺值,必須用原來的值-廠缺
不能直接變成值,請問這個部份要怎麼改?
EX:
原訂單值為450
廠缺20
則相對應儲存格=450-20

TOP

考慮兩檔的[商品]及[銷售點]名稱或位置可能不一致, 所以寫得複雜,
有問題自行去修改:
填入廠缺v01.rar (163.8 KB)

TOP

Dear大大,
請指導 程式2
它可以增加空白註解,但無法將Workbooks("最新庫存B.xlsx").Sheets("飛比")的廠缺值載入註解中,
而且載入的註解無法依 Sheets("飛比")的廠缺值位置載入,註解填滿了 月庫存表.xlsx Range("J4:Y")
且希望註解的框框大小,可以依註解內容自動大小,目前的太大了.
  1. Sub 廠缺註解()
  2. Dim PH$, FN$, rng As Range, xb As Workbook, Sh As Worksheet, i As String
  3. Application.ScreenUpdating = False
  4. Application.DisplayAlerts = False       '一般提警示訊息關閉
  5. Application.Calculation = xlManual     '手動計算
  6. i = Format(Date, "D")
  7. FN = "月庫存表.xlsx"  '目的檔
  8. PH = "T:\0_自訂表單\其他表單\平日庫表\" '目的
  9. On Error Resume Next: Set xb = Workbooks(FN): On Error GoTo 0 '檢查檔案是否已開啟(避免當機)
  10. If xb Is Nothing Then Set xb = Workbooks.Open(PH & FN) '目的若未開啟,則開啟之
  11. Set Sh = Workbooks("最新庫存B.xlsx").Sheets("飛比")
  12. With Sh
  13.     xRow = Cells(Cells.Rows.Count, "F").End(xlUp).Row
  14.     Set sRng = Range("BJ4:BY" & xRow)  '來源:廠缺範圍
  15. End With

  16. With xb.Sheets(i)
  17. xb.Sheets(i).Activate
  18. xRow = Cells(Cells.Rows.Count, "E").End(xlUp).Row
  19. For Each rng In Range("J4:Y" & xRow) '要寫入的範圍,目的訂單範圍
  20. On Error Resume Next
  21. If sRng <> "" Then  '儲存格的值不為 空白
  22. Set cmt = rng.Addcomment  '將儲存格的值寫入註解中
  23. cmt.Text "廠缺*" & sRng.Value
  24. With rng.Comment.Shape.TextFrame.Characters.Font
  25. .AutoSize = True
  26. .Name = "細明體"
  27. .Size = 10
  28. End With
  29. End If
  30. Next rng
  31. End With
  32. Application.ScreenUpdating = True   '打開屏幕更新
  33. End Sub
複製代碼

TOP

        靜思自在 : 【行善要及時】行善要及時,功德要持續。如燒開水一般,未燒開之前千萬不要停熄火候,否則重來就太費事了。
返回列表 上一主題