分享

问与答23:如何在打开工作簿后只显示用户窗体?

 L罗乐 2017-09-07

 

Q如何通过一个用户窗体录入数据,但是我又不想让人看到整个Excel工作薄。简单的说,就是打开某个Excel文件之后,我只看到一个用户窗体,然后我就通过该用户窗体录入数据,保存之后,所输入的数据就存在Excel文件里。

 

A下面是详细的实现过程。

 

首先,准确一个用户窗体。

VBE中,插入用户窗体,在其中添加控件,如下图所示。

编写代码:

Private Sub CommandButton1_Click()

    Dimi As Long

    i =Worksheets('sheet1').Range('A' &Rows.Count).End(xlUp).Row

    IfRange('A1') = '' Then

       Range('A1') = TextBox1.Text

   Else

       i = i 1

       Range('A' & i) = TextBox1.Text

    EndIf

   TextBox1.Text = ''

   TextBox1.SetFocus

End Sub

说明:

  • 代码在工作表Sheet1的列A中依次放置文本框中输入的数据。

 

接着,在工作簿Workbook_Open事件中编写代码。这样,在打开工作簿时,会自动执行Workbook_Open事件中的代码。

情形1:打开工作簿后,将工作簿界面最小化,只显示用户窗体。

Private Sub Workbook_Open()

  '最小化窗口

 Application.WindowState = xlMinimized

  '显示用户窗体

 UserForm1.Show

End Sub

如果想要在关闭用户窗体后,工作簿也一起关闭,那么在用户窗体的关闭事件中,添加下面的代码:

Private Sub UserForm_QueryClose(Cancel AsInteger, CloseMode As Integer)

   ThisWorkbook.Close

End Sub

在关闭用户窗体时,Excel会提示用户是否保存对工作簿的修改,单击“是”保存工作簿并退出。

如果要在关闭用户窗体时默认自动保存工作簿,那么在用户窗体的关闭事件中,添加下面的代码:

Private Sub UserForm_QueryClose(Cancel AsInteger, CloseMode As Integer)

   ThisWorkbook.Close SaveChanges:=True

End Sub

 

情形2:打开工作簿后,该工作簿被彻底隐藏,只显示用户窗体。此时,可以将用户窗体当作用户输入输出界面,工作簿当作存储和处理后台数据的平台。

Private Sub Workbook_Open()

    '隐藏工作簿

   Application.Visible = False

    '显示用户窗体

   UserForm1.Show

End Sub

此时,Excel将在后台运行,要退出这个Excel应用程序,必须结束其进程。

 

情形3:打开工作簿后,工作表均隐藏,但仍显示Excel程序界面,并显示用户窗体。

 

Private Sub Workbook_Open()

   Workbooks('Sample1.xls').Windows(1).Visible = False

   UserForm1.Show

End Sub

此时,用户窗体中的“保存”按钮的代码最好修改如下:

Private Sub CommandButton1_Click()

    Dimi As Long

   Workbooks('Sample1.xls').Windows(1).Visible = True

    i =Workbooks('Sample1.xls').Worksheets('Sheet1').Range('A'& Rows.Count).End(xlUp).Row

   

    IfRange('A1') = '' Then

       Range('A1') = TextBox1.Text

   Else

       i = i 1

       Range('A' & i) = TextBox1.Text

    EndIf

       Workbooks('Sample1.xls').Windows(1).Visible = False

 

   TextBox1.Text = ''

   TextBox1.SetFocus

End Sub

 


 

本文属原创文章,转载请联系我(xhdsxfjy@163.com)或者注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多