VBA如何在多列中搜索特定值并返回偏移量单元格以进行修改

时间:2019-01-11 19:29:00

标签: excel vba

我正在为几个字符创建一个清单。我正在尝试在列表上方创建一个输入表单,该表单将在列表中搜索该名称的字符是否已经携带了该项目。如果是,则应在“数量”列中加1。如果没有,则应将输入的数据添加到列表底部

我尝试了几种不同的代码,但是我的主要问题是我不太了解。我刚刚开始学习,并且根据所能找到的去了。这是我使用的代码的主要变体。可能是错误的。

Sub Test3()

    Dim i As Long
    Dim j As Long
    Dim lastrow As Long
    Dim ws As Worksheet

    Set ws = Sheets("Inventories")
    Set ws2 = Sheets("Inventories")

    For i = 9 To 9
        If IsEmpty(ws.Range("A" & i)) Then
            Exit For
        End If

        For j = 12 To 50000
            If IsEmpty(ws2.Range("A" & j)) Then
                Exit For
            End If

            If ws.Range("A" & i).Value = ws2.Range("A" & j).Value Then
                If ws.Range("B" & i).Value = ws2.Range("B" & j).Value Then

                    Exit For
                End If
            End If
        Next j
    Next i
    MsgBox ("Finished ")
End Sub

典型的结果是,它无法给出此处表中列出的值的任何结果

<https://imgur.com/a/tinjx7J>

应该在单元格A9和B9中进行测试,以在下面找到匹配项。因此,如果咒语书在B9中,则应该在A20中找到Adrys,在B20中找到法术书,然后在F20中更改数量,并通过在现有1上加1将其更改为2。

0 个答案:

没有答案