我正在施工中,尝试编写一些内容来根据材料类型跟踪供应商的材料库存,并将该数量从一张纸转移到另一张纸上。问题在于一张纸上的材料名称与另一张纸上的材料名称略有不同。例如,如果我试图跟踪“壁板”,我的工作表只会说“壁板”,而另一个则有“veriform siding”。我想要一个工作代码,它可以识别“veriform siding”中的“siding”一词,并知道从供应商表中移动任意数量的veriform 壁板并将其添加到我的表中的壁板下。我希望有人能帮助我找到一种使用 InStr 来满足我需要的方法。
现在我的代码只有在字符串准确的情况下才有效。
Sub simple2()
Dim i As Integer
Dim u As Integer
yarray = Worksheets("Sheet1").Cells(14, 1).CurrentRegion
zarray = Worksheets("Walk").Cells(5, 1).CurrentRegion
For d = 14 To UBound(yarray)
Worksheets("Sheet1").Cells(d, 1).Value = Trim(Worksheets("Sheet1").Cells(d, 1).Value)
Next
For q = 5 To UBound(zarray)
Worksheets("Walk").Cells(q, 1).Value = Trim(Worksheets("Walk").Cells(q, 1).Value)
Next
For i = 14 To 30
If Worksheets("Sheet1").Cells(i, 3).Value >= 0 Then
For u = 5 To 39
If Worksheets("Walk").Cells(u, 1).Value = Worksheets("Sheet1").Cells(i, 1).Value Then
Worksheets("Walk").Cells(u, 2) = Worksheets("Sheet1").Cells(i, 3).Value
End If
Next
End If
Next
End Sub
您可以使用类似Searh(不区分大小写)或Find(区分大小写)的公式。查找您需要的工作表的每个单元格的“侧板”,如果满足条件,则使用 IF 函数复制您需要的值。
VBA 听起来有点大材小用。