查找不同工作表上的值列表并返回列和行标题

查找不同工作表上的值列表并返回列和行标题

在此处输入图片描述我正在尝试在工作簿的多个工作表中查找值列表,并在搜索值旁边的单元格中返回列标题和行标题。我发现一个代码,它完美适用于活动工作表中第一列数据 (ColB) 中的所有值。如果我将位于另一列或另一张工作表中的值添加到列表中,我会收到循环引用错误,并且它会在我的函数单元格中放置 0。我已将要查找的值列表放在最后一行数据下的第 1 列中,并将两个函数放在它们旁边的列中。

有人能帮我解决这个问题吗?

我的工作簿包含越来越多格式相同的工作表。每个工作表的第 1 行有列标题,第 1 列有行标题,81 行和 40 列中都填有数据。要查找的值列表最多可达 1000 个或更多。

    Function MyROW(MyVAL)
With ActiveSheet.UsedRange
    FFIND = False
    For J = .Column + 1 To .Column + .Columns.Count
        For I = .Row + 1 To .Row + .Rows.Count
            If (Cells(I, J) = MyVAL) Then
                FFIND = True
                GoTo MyEND
            End If
        Next I
    Next J
    MyEND:
    If (FFIND) Then MyROW = Cells(I, .Column)
End With

结束函数

    Function MyCOLUMN(MyVAL)
With ActiveSheet.UsedRange
    FFIND = False
    For J = .Column + 1 To .Column + .Columns.Count
        For I = .Row + 1 To .Row + .Rows.Count
            If (Cells(I, J) = MyVAL) Then
                FFIND = True
                GoTo MyEND
            End If
        Next I
    Next J
    MyEND:
    If (FFIND) Then MyCOLUMN = Cells(.Row, J)
End With

结束函数

在此处输入图片描述

在单元格 B84 中,我放置了以下函数:=MyCOLUMN(A84),并将其下拉到其下方的单元格。在单元格 C84 中,我对函数:=MyROW(A84) 执行了相同操作。如果我在 A84 中输入可以在 A2-A82 中找到的值,则这两个函数都可以正常工作,但如果我在 a84 中输入可以在 B2-AO82 中找到的值,则这两个函数都无法正常工作。

相关内容