Busque una lista de valores en diferentes hojas de trabajo y devuelva encabezados de columna y fila

Busque una lista de valores en diferentes hojas de trabajo y devuelva encabezados de columna y fila

ingrese la descripción de la imagen aquíEstoy intentando buscar una lista de valores en varias hojas de trabajo de un libro y devolver tanto el encabezado de la columna como el encabezado de la fila en las celdas al lado de mi valor de búsqueda. Encontré un código que funciona perfecto para todos los valores en mi primera columna de datos (ColB) en la hoja de trabajo activa. Si agrego valores a mi lista que se encuentran en otra columna u otra hoja de trabajo, aparece un error de referencia circular y coloca un 0 en mis celdas de función. Puse mi lista de valores para buscar en la columna 1 debajo de mi última fila de datos y puse ambas funciones en las columnas al lado de ellas.

¿Alguien puede ayudarme a solucionar este problema?

Mi libro de trabajo consta de una cantidad cada vez mayor de hojas de trabajo en el mismo formato. Cada hoja de trabajo tiene encabezados de columna en la fila 1 y encabezados de fila en la columna 1, 81 filas y 40 columnas llenas de datos. La lista de valores a buscar puede ser de hasta 1000 o más.

    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

Función final

    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

Función final

ingrese la descripción de la imagen aquí

En la celda B84 coloqué esta función: =MiCOLUMNA(A84) y la bajé a las celdas debajo de ella. En la celda C84 hice lo mismo con la función: =MyROW(A84). Ambas funciones funcionan bien si pongo un valor en A84 que se puede encontrar en A2-A82, pero no si pongo un valor en a84 que se puede encontrar en B2-AO82.

información relacionada