VBA切换工作表已禁用

我已经创build了与战列舰游戏的工作簿。 整个“scheme”工作很好。 其共享的工作簿与2个工作表和战场上的每一个。 它创造的随机船只,标记命中/未命中和计算命中/未命中%。 几乎完成了,但我想进一步改善它。 我的目标是创build代码,使其他玩家不会看到我的战场并看到船只。 试图使用Deactivate模块和Application.ScreenUpdate = False但仍然当我点击另一个工作表或举行它,我可以看到船只。

任何替代品或想法?

您可以使用xlSheetVeryHidden属性,该属性不能使用常规右键单击“工作表”选项卡(但只能通过VBA代码)取消隐藏。

下面的示例代码将检查哪个用户名正在打开工作簿,并因此隐藏或显示相关工作表。

 Private Sub Workbook_Open() Select Case Environ("Username") Case "Me" ' modify to your PC username Worksheets("Sheet1").Visible = True Worksheets("Sheet2").Visible = xlSheetVeryHidden Case "Player" ' modify to your opponent PC username Worksheets("Sheet1").Visible = xlSheetVeryHidden Worksheets("Sheet2").Visible = True End Select End Sub 

您是否尝试隐藏有问题的工作表? Application.ScreenUpdate = False只会阻止工作表更新单元格。