もう少し質問を説明することをお勧めしますが、これまでのところ、私が推測できることについては、次のような問題があります。
- 数式とデータがロックされたExcelシートを用意します。
- ページの編集を提案しますが、データへの「コンサルト」として変更を保存しません。
私は主に以下を提供することができます:
- ベースページを保存するバックアップシートを作成します
- 編集のためにシートのロックを解除します。
- 編集を終了する場合は、バックアップからメインシートにデータを復元します。
- 編集をリセットした場合は、終了と同じ手順を実行し、データのロックを再度解除します。(コードフローがどのようにグラフ化されたかについては、コピーされたシートのデータがロックされています)
これにより、次のコードが生成されます。
Sub BackUpData() 'this will be linked to you "what if" button
Sheets("Data_Sheet").Select 'select shhet with data, just in case
Range("A1:M56").Select ' range of your important data in your excel sheet
Cells.Select
Selection.Copy
Sheets("BackUp_Sheet").Select
Range("A1").Select 'lets paste the data in the same positión
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Data_Sheet").Select
End Sub
これにより、データと数式のコピーが作成されます。データソースを壊さずにグラフをコピーすることも別の問題です。おそらく、この問題について詳しく説明することができます。チャートはありますか?
Sub RestoreData() 'this will be linked to you "Reset" and "Exit" button
Sheets("BackUp_Sheet").Select 'select shhet with data, just in case
Range("A1:M56").Select ' range of your important data in your excel sheet
Cells.Select
Selection.Copy
Sheets("Data_Sheet").Select
Range("A1").Select 'lets paste the data in the same positión
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
通常の改善の余地:
- 範囲を動的に選択しますが、メモリの問題が発生する可能性があるため、すべてのシートを選択するわけではありません。(ラップトップでExcel 2007のすべてのセルをコピーしようとすると、リソースが不足します:P)。
- Application.ScreenUpdatingでちらつきを取り除きます。
- *backup_Sheet*が非表示になっているときにこれが機能するかどうかは確認していません。
もう1つの問題は、シート内のデータのロックを解除することです。
Sub UnlockMySheet()
'password here won`t protect the business logic or the code from prying eyes, just the user from themselves
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
Range("D9,B13").Select ' select the editable cells
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
ActiveWorkbook.Protect Structure:=True, Windows:=True
End Sub
通常の改善の余地:
- たぶん私は保護プロトコルを忘れて、ページをそのままにしておくだけです。(このコードを証明する時間はありません)。
- スタックオーバーフローの集合的な心からの暗示。
つまり、今のところ