【问题标题】:how to display only userform in vba excel?如何在 vba excel 中仅显示用户窗体?
【发布时间】:2021-09-03 14:41:11
【问题描述】:

我有一个在 vba 中创建的用户表单,我想在打开我的 excel 时只显示用户表单...有没有办法做到这一点.. 我已经尝试过诸如

之类的代码
application.visible = false , activewindow.visible= false

如果我在打开之前在模块中使用此代码,已经打开的文件将与我正在打开的文件一起隐藏 有人可以告诉我如何特别隐藏我要打开并显示用户表单的文件

【问题讨论】:

  • 您是否尝试将application.visible = false 放入表单初始化事件中?
  • 问题是,如果我使用 application.visible 代码,它会隐藏在 excel 中打开的所有文件 .... 例如,如果我正在处理 excel 数据表 n,如果我打开此用户窗体,它会隐藏数据表也随之而来
  • 检查答案部分的示例代码是否适合您。
  • 我已经尝试过了......它隐藏了窗口,但如果我打开包含用户表单的文件,excel vl 的背景仍然存在

标签: vba excel


【解决方案1】:

试试这样的

1- 创建一个带有 2 个按钮的用户表单(见下图)

2- ThisWorkbook 代码

Private Sub Workbook_Open()
    UserForm1.Show vbModeless
End Sub

3-表格代码

Private Sub CommandButton1_Click()
    If Workbooks.Count > 1 Then
        Windows("Test.xlsm").Visible = True
    Else
        Application.Visible = True
    End If
End Sub

Private Sub CommandButton2_Click()
    If Workbooks.Count > 1 Then
        Windows("Test.xlsm").Visible = False
    Else
        Application.Visible = False
    End If
End Sub

Private Sub UserForm_Initialize()
    If Workbooks.Count > 1 Then
        Windows("Test.xlsm").Visible = False
    Else
        Application.Visible = False
    End If
End Sub

Private Sub UserForm_Terminate()
    If Workbooks.Count > 1 Then
        Windows("Test.xlsm").Visible = True
    Else
        Application.Visible = True
    End If
End Sub

这只会显示或隐藏表单的工作簿。任何其他打开的工作簿都不会受到影响。

【讨论】:

  • 但是如果我只打开一个具有用户表单的excel,那么excel vl b的背景就在那里......
  • @ShahbazShaikh - 更新了代码......基本上你必须检查工作簿的数量才能显示或隐藏整个应用程序或只是工作簿。
  • 我发现的bug是workbook.count >1时userform后台弹出其他excel文件
  • 我假设你想要什么?您说我的第一个代码隐藏了所有工作簿,而您只想隐藏表单工作簿。
  • 在 urs 的第一个代码中正确,所有工作簿都隐藏了,但 excel 模板背景是可见的...在此代码中,如果打开任何其他 excel 文件,它会在用户表单后面弹出...如何那么我可以只看到用户表单吗...您可以通过并行打开 2 个 excel 表来检查代码.....
【解决方案2】:

我认为如果你确保其他工作簿没有打开,那可能会解决问题。

Private Sub Workbook_Open()
 If Workbooks.Count > 1 Then
   MsgBox "Close All excel files before running it"
   ThisWorkbook.Close
 Else
    Application.Visible = False
    frmmain.Show
 End If
End Sub

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 2017-06-15
    • 2019-07-23
    • 1970-01-01
    • 2020-10-09
    • 2019-12-24
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多