【发布时间】:2019-01-27 21:50:26
【问题描述】:
我正在尝试为库存创建一个宏,其中基本上,工作表 1 包含所有信息,包括条形码编号、产品名称和产品尺寸。在 Sheet 2 中,我有一个按钮,单击该按钮后,我可以扫描我手中产品的条形码。
我想要的是,当我扫描的条形码与表 1 中的一个条形码匹配时,与该产品有关的所有其他信息都会被复制到表 2 或另一表中。我不确定哪个会更容易。 现在我的代码只在匹配的条形码旁边添加了一些额外的信息。我不确定如何将该信息以及表 1 中的原始信息添加到新表中。
Private Sub CommandButton1_Click()
Dim MatchRow As Variant
Dim code As Variant
Dim matchedCell As Range
barcode = InputBox("Please scan a barcode and hit enter if you need to")
' verify that there is a successful match in the searched range
Set Shta = ActiveWorkbook.Worksheets("Sheet1")
Set Shtb = ActiveWorkbook.Worksheets("Sheet2")
Set Sheet1Range = Sheet1.Range("D2:D108")
If Not IsError(Application.Match(barcode, Sheet1Range, 0)) Then
MatchRow = Application.Match(barcode, Sheet1Range, 0) '<-- get the row number
MatchCatalog = MatchRow + 1
Set matchedCell = Range("D" & MatchCatalog) '<-- set the range (add 1 row since you are starting from row 2)
matchedCell.Offset(0, 2).Value = Now
matchedCell.Offset(0, 3).Value = MatchCatalog
matchedCell.Offset(0, 4).Value = barcode
'option 2: without setting the range
Range("AE" & MatchRow).Offset(1, 2).Value = Now
End If
End Sub
提前致谢! 甚至一些关于如何将数据从整行复制到工作表中的帮助作为开始也会有所帮助。
【问题讨论】:
-
如果您只是想增加 1 行,您可以使用 VLOOKUP 来完成。只需将您的扫描导入一个单元格并将其用作第一个条件
-
也可以使用
Range.Find方法,复制找到的单元格的整行。 -
@urdearboy 我如何将此扫描导入到单元格中?我只知道创建我扫描到的弹出框
-
使用宏将条形码放入单元格中。然后你可以使用 VLOOKUP