Fórmulas da planilha do Excel Spreadsheet

1

Eu gostaria de poder ter uma célula em uma segunda guia igual ao que estava em uma guia anterior, criar uma nova guia, copiar e colar e atualizar a fórmula da planilha na guia anterior em vez de fazer referência à primeira guia .

Ie a fórmula do trabalho anterior na guia 2 é igual ao valor da guia 1 concluída na guia.

Quando copio e colo em uma nova guia (3) para criar a próxima folha de progresso, a referência da fórmula de folha ainda é para a guia 1, em vez de atualizar para a guia 2. Existe uma maneira de contornar isso?

    
por Lisa 28.05.2015 / 01:04

2 respostas

3

O Excel só pode fazer referência a planilhas absolutamente. Diferente das referências de célula, que podem ser relativas e alteradas quando copiadas, as referências de planilha são sempre absolutas.

Referências de planilhas relativas foram solicitadas como um novo recurso do Excel várias vezes no passado, mas até agora não foram implementadas.

    
por 28.05.2015 / 05:23
1

A referência relativa a folhas é relativamente fácil se você estiver disposto a usar um pouco de VBA. Crie a seguinte função VBA:

Function SHEET_OFFSET(Offset, Ref)
'   Returns cell contents at Ref, in sheet Offset
    Application.Volatile
    With Application.Caller.Parent
        SHEET_OFFSET = .Parent.Sheets(.Index + Offset) _
         .Range(Ref.Address).Value
    End With
End Function

Veja Como adiciono o VBA no MS Office? para informações gerais sobre o uso do VBA.

Em seguida, se você quiser que uma célula em Sheet2 acesse Sheet1!Q42 , mas, quando você copia de Sheet2 para Sheet3 , você quer que a célula correspondente acesse Sheet2!Q42 , use a fórmula

SHEET_OFFSET(-1, Q42)

O primeiro argumento é o número da folha, relativo ao atual, e o segundo argumento é a referência da célula. Quando você copia essa fórmula para Sheet(n) , ela se refere automaticamente a Sheet(n-1) .

    
por 28.05.2015 / 06:51