Tenho uma planilha com uma tabela de dados externa vinda do SQL Server com uma consulta que retorna dados específicos de cada usuário. Coloquei instruções neste arquivo para permitir o download uma vez e depois desvinculá-lo.
Infelizmente, um usuário não o fez, adicionou um monte de dados, "salvou" e perdeu o trabalho.
Existe alguma maneira de recuperar os dados?
Responder1
Desculpe, você está sem sorte. Como você marcou "Remover dados do intervalo de datas externo antes de salvar a pasta de trabalho", os dados adicionados nunca foram salvos e não há local para recuperar os dados do usuário.
Para evitar esse tipo de acidente no futuro, eu mudaria a pasta de trabalho para macro habilitada (.xlsm), se ainda não estiver, e adicionaria uma verificação no evento BeforeSave para ver se a tabela foi desvinculada.
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