-1

我需要一个函数来执行以下操作来跟踪我在 Excel 2007 中的“现有”库存:

我有 3 张工作表:“Inventory”、“On hand”和“Sales”,列名相同:A1= Style# B1= Small C1= Medium D1= Large E1= X-large 我在“Inventory”中有相同数量的行和“在手”,但在“销售”中总是不同的。

我想要的是有一个功能来做到这一点:

  1. 当我在第一行中添加新行时,将行从“库存”复制并粘贴到“手头”。
  2. 在 A1= Style# 列的“现有”和“销售”表中找到匹配值
  3. 减去匹配行的“销售”和“现有”的 B:E 单元格。

任何帮助,将不胜感激。

4

2 回答 2

0
If Sheets("Inventory").Cells(Rows.Count,"A").End(xlup).Row <> Sheets("On Hand").Cells(Rows.Count,"A").End(xlup).Row Then 
     For k = 1 to Sheets("Inventory").Cells(Rows.Count,"A").End(xlup).Row
         Sheets("On Hand").Range("A" & k & ":E" & k)=Sheets("Inventory").Range("A" & k & ":E" & k)
     Next k
End If

For i=1 to Sheets("Sales").Cells(Rows.Count,"A").End(xlup).Row
 For j=1 to Sheets("On Hand").Cells(Rows.Count,"A").End(xlup).Row
     If Sheets("Sales").Cells(i, "A") = Sheets("On Hand").Cells(j,"A") Then
         If Sheets("Sales").Cells(i, "B")<>"" then Sheets("On Hand").Cells(j,"B") = Sheets("On Hand").Cells(j,"B") - 1
         If Sheets("Sales").Cells(i, "C")<>"" then Sheets("On Hand").Cells(j,"C") = Sheets("On Hand").Cells(j,"C") - 1
         If Sheets("Sales").Cells(i, "D")<>"" then Sheets("On Hand").Cells(j,"D") = Sheets("On Hand").Cells(j,"D") - 1
         If Sheets("Sales").Cells(i, "E")<>"" then Sheets("On Hand").Cells(j,"E") = Sheets("On Hand").Cells(j,"E") - 1
     End If
 Next j
Next I

如果这篇文章有帮助,请标记为向上按钮。

于 2013-06-19T01:31:23.953 回答
0

您可以从 No 1 开始 .. 在您的工作表“库存”中

Private Sub Worksheet_Change(ByVal Target As Range)
  Sheets("OnHand").Cells(Target.Row, Target.Column) = Target.Value
End Sub
于 2013-06-19T01:53:03.497 回答