「ブックを保存する前に外部データ範囲からデータを削除する」を使用した後、隣接するデータを復元するにはどうすればよいですか? -

「ブックを保存する前に外部データ範囲からデータを削除する」を使用した後、隣接するデータを復元するにはどうすればよいですか? -

各ユーザーに固有のデータを返すクエリを含む、SQL Server からの外部データ テーブルを含むスプレッドシートがあります。このファイルに、一度ダウンロードしてからリンクを解除できるように指示を入れました。

残念ながら、あるユーザーはそれをせず、大量のデータを追加して「保存」し、作業内容を失ってしまいました。

データを復元する方法はありますか?

答え1

残念ですが、残念ながら、残念ながら、"ブックを保存する前に外部の日付範囲からデータを削除する" チェックボックスをオンにしているため、追加されたデータは保存されず、ユーザーのデータを取得する場所がありません。

今後このような事故を防ぐために、まだマクロが有効になっていない場合は、ブックをマクロ有効 (.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

関連情報