
所以我正在处理一个库存电子表格,它基本上有两个大表。其中一张表有零件编号/描述/位置/批号/数量/等(称为“库存清单”),另一张只有零件编号/描述/供应商/总量(称为“订购清单”)。第一个表主要用于跟踪每个项目的批号,因此它具有一个 SKU/零件号的多个实例,而第二个表更多用于跟踪每个项目的总量以进行重新订购,因此每个项目只有一个实例零件号。表格被锁定给用户,并且用户通过使用用户表单来编辑表格以将项目“拾取并放置”到表格中。目前选择按钮已设置,因此他们从批号表中进行选择,它将从该行中减去他们从该行中取出或添加到库存中的数量,我的问题是,我如何将第一个表中选择的零件号与还从/添加到第二个表中的总量?我对 VBA 很陌生,我不确定这是否可能。两个表的共同点是每个表的第一列都列出了零件号。我可以在下面发布为拾取/放置按钮编写的当前代码。两个表的共同点是每个表的第一列都列出了零件号。我可以在下面发布为拾取/放置按钮编写的当前代码。两个表的共同点是每个表的第一列都列出了零件号。我可以在下面发布为拾取/放置按钮编写的当前代码。
Private Sub btnPick_Click()
Dim pickValue As Integer
Dim updateQTY As Integer
Dim invQTY As Integer
Dim findMe As Long
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Inventory List")
If Selected_List = 0 Then
MsgBox "You must select an Inventory Item Prior to Pick!", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
If Me.txtPPQty.Value = "" Then
MsgBox "Please enter a quantity to pick.", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
pickValue = Me.txtPPQty.Value
invQTY = Me.lstInventory.List(Me.lstInventory.ListIndex, 7)
findMe = Selected_List + 4
If pickValue > invQTY Then
MsgBox "The pick quantity is too high! Please select a lower Value.", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
If pickValue <= invQTY Then
updateQTY = invQTY - pickValue
End If
ThisWorkbook.Sheets("Inventory List").Cells(findMe, 9) = updateQTY
MsgBox "You have removed " + CStr(pickValue) + " units from the selected item.", vbOKOnly + vbInformation, "Edit"
Dim pickValue As Integer
Dim updateQTY As Integer
Dim invQTY As Integer
Dim findMe As Long
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Inventory List")
If Selected_List = 0 Then
MsgBox "You must select an Inventory Item to Return!", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
If Me.txtPPQty.Value = "" Then
MsgBox "Please enter a quantity to Return.", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
pickValue = Me.txtPPQty.Value
invQTY = Me.lstInventory.List(Me.lstInventory.ListIndex, 7)
findMe = Selected_List + 4
If pickValue > invQTY Then
MsgBox "The pick quantity is too high! Please use Inventory Edit functions.", vbOKOnly + vbInformation, "Edit"
Exit Sub
End If
If pickValue <= invQTY Then
updateQTY = invQTY + pickValue
End If
ThisWorkbook.Sheets("Inventory List").Cells(findMe, 9) = updateQTY
MsgBox "You have added " + CStr(pickValue) + " Units to the selected Item.", vbOKOnly + vbInformation, "Edit"
End Sub