检查一个字符串是否包含另一个字符串,并根据该字符串将相关数字移动到另一张纸上的相应位置

问题描述 投票:0回答:1

我正在施工中,尝试编写一些内容来根据材料类型跟踪供应商的材料库存,并将该数量从一张纸转移到另一张纸上。问题在于一张纸上的材料名称与另一张纸上的材料名称略有不同。例如,如果我试图跟踪“壁板”,我的工作表只会说“壁板”,而另一个则有“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

excel vba for-loop instr
1个回答
0
投票

您可以使用类似Searh(不区分大小写)或Find(区分大小写)的公式。查找您需要的工作表的每个单元格的“侧板”,如果满足条件,则使用 IF 函数复制您需要的值。

VBA 听起来有点大材小用。

© www.soinside.com 2019 - 2024. All rights reserved.