Je vous suggère d'expliquer un peu plus vous poser des questions , mais jusqu'ici pour ce que je peux infere vous avez l'issuse suivante:
- avoir une feuille Excel avec des formules et des données verrouillées.
- offre modifier la page, mais pas enregistrer les modifications, comme "consulter" les données.
Je peux surtout offrir ce qui suit:
- Créer une feuille de sauvegarde où vous votre sauvegarde la page de base
- Déverrouillez la feuille pour le montage.
- Si vous quittez l'édition, restaurez les données de la sauvegarde sur la feuille principale.
- Si vous réinitialisez l'édition, suivez la même procédure que exit et déverrouillez à nouveau les données. (Pour la façon dont il a été cartographié le flux de code, la feuille copiée ses données verrouillée)
Cela se traduira par le code followin:
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
Ce faire une copie des données et les formules, copier des graphiques sans casser sa source de données est un autre problème, peut-être que vous pouvez développer sur cette question. Avez-vous des graphiques?
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
salle habituelle d'amélioration:
- sélectionnez Dinamicaly la plage, mais pas sélectionner toute la feuille, car isssuses de mémoire peuvent survenir. (Je n'ai plus de ressources quand j'essaie de copier toute la cellule d'Excel 2007 dans mon ordinateur portable: P).
- Supprime le scintillement avec Application.ScreenUpdating.
- Je n'ai pas vérifié si cela fonctionne lorsque la * feuille_sauvegarde * est cachée.
L'autre isssuse est débloquer les données dans la feuille.
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
salle habituelle d'amélioration:
- Peut-être que j'ai oublié le protocole et `m juste protect quitter la page exactement comme il était. (désolé pas le temps de prouver ce code).
- Suggestion de stackoverflow esprit collectif.
et qui est, pour l'instant
Quel code avez-vous à ce jour? Cela ne devrait pas être une tâche extrêmement difficile, mais cela aide à commencer quelque part. :) –
@Michael: quelle est votre question? –