使用 msgbox 后阻止单元格编辑

问题描述 投票:0回答:1

我有一本包含各种改进(宏、公式)的工作簿。默认情况下,工作簿以全屏模式打开。

Private Sub Workbook Open ()
    Application.DisplayFullScreen = True   
End Sub

最近我添加了一个activeX按钮。如果指定的单元格不为空,则会出现此按钮。 worksheet_change 事件负责此操作。

Private SubWorksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Range ("B47").Value <> "" Then 
        Me.Totalvalue.Visible = True   
    Else 
        Me.Totalvalue.Visible = False
    End If
    Application.ScreenUpdating = True 
End Sub

使用该按钮会弹出一个消息框。消息框显示指定单元格的内容和编号。
关闭消息框后,电子表格单元格将处于非活动状态。无法编辑数据。

仅表单控件、activeX 控件和下拉列表处于活动状态。删除键和转义键也有帮助。但是,使用 esc 会退出全屏模式。
有趣的是,除非工作表处于全屏模式,否则不会出现此问题。

请帮助我并指出可能导致阻止单元格编辑问题的原因

我在另一个文件中进行了最后的更改,一切正常。不幸的是,有问题的文件太广泛(公式、宏、用户窗体、条件格式),我无法从头开始

excel vba msgbox
1个回答
0
投票

请参阅 stackoverflow 答案 vba - Excel 全屏模式无法编辑单元格

基本上,那里的解决方案建议选择另一个工作表,然后返回到您选择的工作表。您可以在代码中执行此操作。

某些位置会遇到 ActiveX 控件问题,具体取决于 Windows 的版本和更新状态 - 为此,我从 EUC 中删除了所有 ActiveX 控件(替换为 Forms 控件)

最后 - 这是您的主显示器上的全屏 - 如果您在扩展显示器上全屏显示,也会出现一些奇怪的行为 - 按钮可能在一个屏幕上工作,但在另一个屏幕上不起作用(奇怪但真实)

© www.soinside.com 2019 - 2024. All rights reserved.