Eu encontrei a solução para isso.
adicionando "ThisWorkbook" à seguinte linha de código
PrevSheet = Sheets(i - 1).Range(rCell.Address)
tornando-se como
PrevSheet = ThisWorkbook.Sheets(i - 1).Range(rCell.Address)
Eu tenho a função VBA no Excel, conforme indicado abaixo, para escolher valores da célula correspondente na planilha anterior. Funciona bem quando apenas esta pasta de trabalho (onde esta fórmula está presente) está aberta. Se eu abrir outras pastas de trabalho do Excel, por exemplo, workbook2, esta função prevsheet na primeira pasta de trabalho irá pegar os valores da segunda pasta de trabalho, atrapalhando todos os valores da primeira pasta de trabalho. Como posso modificar essa fórmula para que essa função funcione / capte valores para essa pasta de trabalho em vez de outras pastas de trabalho abertas.
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
Tags microsoft-excel macros vba