1

У меня есть функция VBA в Excel, как указано ниже, чтобы выбрать значения из соответствующей ячейки на предыдущем листе. Это хорошо работает, когда открыта только эта рабочая книга (где присутствует эта формула). Если я открою другую рабочую книгу Excel, например, workbook2, эта функция предварительного листа в первой рабочей книге будет получать значения из второй рабочей книги, нарушая все значения первой рабочей книги. Как я могу изменить эту формулу, чтобы эта функция работала / собирала значения для этой рабочей книги вместо других открытых рабочих книг.

Function PrevSheet(rCell As Range)
        Application.Volatile

        Dim i As Integer
        i = rCell.Cells(1).Parent.Index
        PrevSheet = Sheets(i - 1).Range(rCell.Address)
    End Function

1 ответ1

1

Я нашел решение для этого.

добавив "ThisWorkbook" к следующей строке кода

PrevSheet = Sheets(i - 1).Range(rCell.Address)

делая это как

PrevSheet = ThisWorkbook.Sheets(i - 1).Range(rCell.Address)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .