如何搜索两个不同的范围并输入答案

how to search two different ranges and input answer

此代码几乎可以正常工作,但我在尝试执行该操作时遇到错误“对象‘_Worksheet’的方法 'Range' 失败”。 有什么想法吗?

Dim k As Range
For Each k In Sheet2.Range("h6:zz6").Cells
    If k = Sheet4.Range("e1").Value Then
        Dim i As Long
        Dim j As Long
        Dim lrow As Long

        For i = 10 To 200
            If Sheet4.Range("B" & i).Value = "" Then
                Exit For
            End If

            For j = 7 To 10000
                If Sheet2.Range("c" & j).Value = "" Then
                    Exit For
                End If

                If Sheet4.Range("B" & i).Text = Sheet2.Range("c" & j).Text Then
                    ***Sheet2.Range(k & j).Value*** = Sheet4.Range("b" & i).Value   
                    Exit For
                End If
            Next j
        Next i

        Exit For
    End If
Next
***Sheet2.Range(k & j).Value***

循环的这一部分并没有真正引用任何单元格地址。它仅指迭代本身的次数。在这里,对于 k = 11 和 j = 11,它只会产生“(11 & 11)”(当然,它会出现错误),而不是特定的 range/cell.

我会尝试将其替换为:

***Sheet2.Cells(j,k.Column).Value**

在此代码片段中,我们使用 .Cells 来引用我们要查看循环中的哪个特定单元格。

Dim k As Range
For Each k In Sheet2.Range("h6:zz6").Cells
    If k = Sheet4.Range("e1").Value Then
        Dim i As Long
        Dim j As Long
        Dim lrow As Long

        For i = 10 To 200
            If Sheet4.Range("B" & i).Value = "" Then
                Exit For
            End If

            For j = 7 To 10000
                If Sheet2.Range("c" & j).Value = "" Then
                    Exit For
                End If

                If Sheet4.Range("B" & i).Text = Sheet2.Range("c" & j).Text Then
                    ***Sheet2.Cells(j,k.Column).Value*** = Sheet4.Range("b" & i).Value   
                    Exit For
                End If
            Next j
        Next i

        Exit For
    End If
Next