好的,所以我正在创建一个电子表格,可以由另一个用户编辑,但否则会被锁定。我希望做的是创建 3 个按钮。“假设”“退出假设”和“重置”
“如果”将允许用户输入数据。“Exit what if”将允许用户退出输入模式并恢复为默认值。文档。然后“重置”将允许用户留在“如果”但将所有值重置为默认值。
然后我希望按钮“如果”出现在左侧的某处,但是当您单击它时,它会被“退出”和“重置”取代
好的,所以我正在创建一个电子表格,可以由另一个用户编辑,但否则会被锁定。我希望做的是创建 3 个按钮。“假设”“退出假设”和“重置”
“如果”将允许用户输入数据。“Exit what if”将允许用户退出输入模式并恢复为默认值。文档。然后“重置”将允许用户留在“如果”但将所有值重置为默认值。
然后我希望按钮“如果”出现在左侧的某处,但是当您单击它时,它会被“退出”和“重置”取代
我建议您多解释一下您的问题,但到目前为止,我可以推断您有以下问题:
我主要可以提供以下内容:
这将导致以下代码:
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
通常的改进空间:
另一个问题是解锁工作表中的数据。
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
通常的改进空间:
也就是说,现在