標題:
每日進貨與歷史庫存資料
[打印本頁]
作者:
zero1019
時間:
2014-9-19 00:27
標題:
每日進貨與歷史庫存資料
我的檔案有兩張sheet 「進貨」、「歷史進貨」
每天「進貨」sheet都會不一樣,而「歷史進貨」就是把每天「進貨」保留下來
[attach]19182[/attach]
-------------------------------------------------------------------------------------
DAY1 「進貨」 有 A1、A3、B1、B2 四種商品
則「歷史進貨」就會有A1、A3、B1、B2 四種商品
到了第二天
DAY2 「進貨」進了 A1、A3、B1、C1、C2 五種商品
則「歷史進貨」就會 A1、A3、B1、B2、C1、C2 六種商品
到了第三天
DAY2 「進貨」進了 A3、B1、C1、C2、C3
則「歷史進貨」就會 A1、A3、B1、B2、C1、C2 、C3 七種商品
也就是過去曾經進貨的資料 我要留下來 新增的進貨商品 直接加在下面
我本來想再「歷史進貨」寫公式 但不管怎麼寫 歷史資料總是無法保留 >"<
想請問各位有沒有好方法?? 感謝大家~
[attach]19180[/attach]
作者:
luhpro
時間:
2014-9-20 03:49
我的檔案有兩張sheet 「進貨」、「歷史進貨」
每天「進貨」sheet都會不一樣,而「歷史進貨」就是把每天「 ...
zero1019 發表於 2014-9-19 00:27
Private Sub cbTran_Click()
Dim lSRow&, lTRow&
Dim vD
Dim wsSou As Worksheet
Set vD = CreateObject("Scripting.Dictionary")
lSRow = 2
Set wsSou = Sheets("歷史進貨")
With wsSou
Do While .Cells(lSRow, 1) <> ""
With .Cells(lSRow, 1)
vD(.Value) = .Offset(, 2)
End With
lSRow = lSRow + 1
Loop
End With
lTRow = 2
With Sheets("進貨")
Do While .Cells(lTRow, 1) <> ""
With .Cells(lTRow, 1)
If Not vD.Exists(.Value) Then
vD(.Value) = .Offset(, 1)
wsSou.Cells(lSRow, 1) = .Value
wsSou.Cells(lSRow, 2) = .Offset(, 1)
lSRow = lSRow + 1
End If
.Resize(1, 2).Delete xlShiftUp
End With
Loop
MsgBox "歷史進貨資料已更新完畢..."
.Cells(2, 1).Select
End With
End Sub
複製代碼
[attach]19189[/attach]
作者:
zero1019
時間:
2014-9-24 11:52
回復
2#
luhpro
好厲害~~~感謝感謝~~我來研究一下 ^^
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)