Я пытаюсь найти список значений на нескольких листах рабочей книги и вернуть как заголовок столбца, так и заголовок строки в ячейках рядом с моим искомым значением. Я нашел код, который отлично работает для всех значений в моем первом столбце данных (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.