返回列表 上一主題 發帖

請教一個加聰計算問題,

回復 2# 317

試試看
  1. Option Explicit
  2. Dim D As Object
  3. Sub Main()
  4.     庫存紀錄
  5.     出入紀錄
  6. End Sub
  7. Sub 庫存紀錄()
  8.     Dim i As Integer, S As String
  9.     Set D = CreateObject("SCRIPTING.DICTIONARY")  '字典物件
  10.     On Error GoTo OP
  11.     With Workbooks("庫存.xlsx").Sheets("工作表1")
  12.         i = 3
  13.         Do While .Cells(i, "C") <> ""
  14.             S = .Cells(i, "C") & .Cells(i, "O")
  15.             D(S) = D(S) + .Cells(i, "G")
  16.             i = i + 1
  17.         Loop
  18.     End With
  19.     Exit Sub
  20. OP:
  21.     Workbooks.Open ("這裡輸入 [庫存.xlsx] 檔案路徑")
  22.     Resume
  23. End Sub
  24. Sub 出入紀錄()
  25.     Dim i As Integer, S As String
  26.     On Error GoTo OP
  27.     With Workbooks("出入記錄.xlsx").Sheets("工作表1")
  28.         i = 4
  29.         Do While .Cells(i, "B") <> ""
  30.             S = .Cells(i, "B") & .Cells(i, "G")
  31.             If D.EXISTS(S) Then
  32.                 .Cells(i, "J") = D(S)
  33.                 .Cells(i, "L") = .Cells(i, "I") + .Cells(i, "K") - D(S)
  34.             Else
  35.                 .Cells(i, "J") = ""
  36.                 .Cells(i, "L") = .Cells(i, "I") + .Cells(i, "K")
  37.             End If
  38.             i = i + 1
  39.         Loop
  40.     End With
  41.     Exit Sub
  42. OP:
  43.     Workbooks.Open ("這裡輸入 [出入記錄.xlsx] 檔案路徑")
  44.     Resume
  45. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# 317

回復 5# hong912

樓主 317 需在檔案 [庫存.xlsx] 中 尋找檔案 [出入記錄.xlsx] 的資料

xlsx 是無巨集的活頁簿檔案
所以 給的程式碼是 xlsm 有巨集的活頁簿檔案 中執行
當程式執行時 [庫存.xlsx] 或 [出入記錄.xlsx] 沒有開啟時程式會有錯誤的.
所以下面的程式碼,須分別修改為你 PC 中這兩個檔案的位置.
  1. OP:
  2.     Workbooks.Open ("這裡輸入 [庫存.xlsx] 檔案路徑")
  3.     Resume
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

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