我正在尝试编写一些Visual Basic代码,以防止任何人在选择多个工作表时意外覆盖多个工作表中的单元格.
但我想要在多个工作表上覆盖单元格的选项,如果在任何阶段都需要.
因此,当我选择了多个工作表时,我希望弹出一个包含2个选项的工具,如下所示:"您确定要覆盖所选工作表中的单元格吗?" 好的取消
我想我差不多有下面的代码了,但是如果我选择了3张,那么弹出窗口会出现3次(每页一次).当然,我只想让弹出窗口出现一次,无论我选择了多少张纸.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If ActiveWindow.SelectedSheets.Count > 1 Then If MsgBox("Are you sure you want to overwrite the cells across the sheets you have selected?", vbOKCancel) = vbCancel Then Exit Sub Application.EnableEvents = False Application.Undo End If Application.EnableEvents = True End Sub
或者更好的解决方案实际上是:
"你确定要覆盖所选纸张上的单元格吗?"
是(继续所有选定的页面),
否(选择当前页面并继续),
取消(取消操作并保持当前选择).