Como evitar a abertura de uma pasta de trabalho mencionada no vlookup entre 3 pastas de trabalho

1

Situação:
Eu tenho três pastas de trabalho do Excel, das quais Workbook1 e Workbook2 contêm meus dados. Em Workbook3 , há um VLOOKUP que faz referência aos dados em Workbook1 e Workbook2 . Tudo isso funciona bem.

Problema:
Quando eu salvar e fechar todas as pastas de trabalho e reabrir apenas Workbook3 , as células que contêm VLOOKUP mostrarão apenas #NV até que eu abra Workbook1 e Workbook2 também.

Pergunta:
É possível evitar a abertura dos dados contendo a planilha toda vez que abro a folha de referência? Se sim, como faço para isso?

Solução:
As planilhas referenciadas usaram o antigo formato .xls . Parece que as pastas de trabalho antigas precisam ser abertas. Depois de salvá-los como .xlsx , o problema não existia mais.

    
por Tobias Kloss 17.03.2015 / 08:48

2 respostas

1

O acesso aos dados de uma pasta de trabalho referenciada com VLOOKUP exige que a referida pasta de trabalho também seja aberta. Portanto, não, não é possível evitar a abertura de todas as planilhas referenciadas também. não requer que as pastas de trabalho estejam abertas se forem salvas no formato .xlsx . No entanto, se as pastas de trabalho usarem o antigo formato .xls , elas precisarão ser abertas.

Como alternativa, é possível importar dados de uma pasta de trabalho fechada para outra pasta de trabalho usando VBA . VLOOKUP é então possível nos dados importados.

Outra maneira com VBA é abrir automaticamente todas as folhas referenciadas na inicialização, atualizando todas as referências e fechando as referidas pastas de trabalho novamente usando o seguinte código.

Private Sub Workbook_Open()
Dim Links
Dim i%
Links = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(Links) Then
    For i = 1 To UBound(Links)
      Workbooks.Open Links(i), 0
    Next i
Else
End If
ActiveWorkbook.RefreshAll
For Each w In Workbooks
If w.Name <> ThisWorkbook.Name Then
    w.Close savechanges:=False
End If
Next w
End Sub
    
por 17.03.2015 / 10:50
0

Vá para Data > Connections > Edit Links > Update Values . Isso fornecerá os valores atuais da pasta de trabalho sem abri-la. Você também pode definir links para atualizar automaticamente, embora isso vá atrasar a abertura se houver muitos links presentes. Este método só funciona se os arquivos vinculados forem .xlsx, não .xls.

    
por 17.03.2015 / 17:54