У меня есть электронная таблица с таблицей внешних данных, поступающей из SQL Server с запросом, который возвращает данные, специфичные для каждого пользователя. Я поместил в этот файл инструкции, чтобы он мог загружаться один раз, а затем отключать его.

К сожалению, один пользователь этого не сделал, добавил целую кучу данных, "сохранил" и потерял свою работу.

Есть ли способ вернуть данные?

1 ответ1

0

Извините, вам не повезло. Поскольку вы установили "Удалить данные из внешнего диапазона дат перед сохранением книги", отметили, что добавленные данные никогда не сохранялись, и нет места для извлечения данных пользователя.

Чтобы не допустить такого рода несчастных случаев, я бы изменил рабочую книгу на макрос с поддержкой (.xlsm), если это еще не сделано, и добавил бы проверку в событии BeforeSave, чтобы увидеть, была ли таблица не связана.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .