Como obter dados adjacentes de volta? depois de usar "Remover dados do intervalo de dados externos antes de salvar a pasta de trabalho" -

0

Eu tenho uma planilha com uma tabela de dados externa vinda do SQL Server com uma consulta que retorna dados específicos para cada usuário. Eu coloquei instruções neste arquivo para permitir que ele baixe uma vez e depois para desvinculá-lo.

Infelizmente, um usuário não adicionou um monte de dados, "salvou" e perdeu o trabalho.

Existe alguma maneira de recuperar os dados?

    
por Fowl 24.01.2012 / 22:21

1 resposta

0

Desculpe, você está sem sorte. Como você tem "Remover dados do período externo antes de salvar a pasta de trabalho", os dados adicionados nunca foram salvos e não há lugar para recuperar os dados do usuário.

Para evitar esse tipo de acidente, mudei a pasta de trabalho para macro habilitada (.xlsm), se ainda não estiver, e adicione uma marca no evento BeforeSave para ver se a tabela foi desvinculada. / p>

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Dim sMsg As String

   ' Assuming the data table is the first table on the first worksheet
   With Worksheets(1).ListObjects(1)  

      If .SourceType <> xlSrcRange Then
         sMsg = "Any changes you've made to the table won't be saved unless you unlink from the database!" _
               & vbCrLf & vbCrLf & "Do you want to unlink?"
         If MsgBox(sMsg, vbExclamation + vbYesNo) = vbYes Then
            .Unlink
         End If
      End If

   End With

End Sub
    
por 25.01.2012 / 03:01