在执行vba的过程中,如何留在UserFrom中

我在UserForm中有一个button,我已经编写了一些特定的任务。 问题是,只要我按下button,窗口将切换到指定的工作簿中的代码执行分配的工作,并返回到用户窗体执行完成后。 我希望用户窗体从开始直到执行结束停留在屏幕上,而不是切换。 代码如下:

Private Sub CommandButton1_Click() Application.DisplayAlerts = False Application.ScreenUpdating = False Dim hyperlink As String Dim wbAcro As Workbook Dim WsEPC As Worksheet Set wbEPC = Workbooks("" & EPC_Datasheet): wbEPC.Activate Set WsEPC = wbEPC.Worksheets("Sheet1") Set wbAcro = Workbooks.Open("C:\EPC AutoTool\Acronyms\Acronyms Details.xlsx") Dim sh As Worksheet, ws As Worksheet Dim LstRw As Long, rng As Range, C As Range, Frng As Range, Frng2 As Range Dim LstR_Template As Integer Set sh = wbAcro.Sheets("Sheet1") Set ws = wbEPC.Sheets("Sheet1") With sh .Activate LstRw = .Cells(.Rows.count, "B").End(xlUp).Row Set rng = .Range("B2:B" & LstRw) End With With ws .Activate .Application.ScreenUpdating = False LstR_Template = ActiveSheet.Cells.Find("*", searchorder:=xlByRows, LookIn:=xlValues, searchdirection:=xlPrevious).Row '***************** Dim num As String Dim cf As Range With .Range("B1:B" & LstR_Template) Set cf = .Find(what:=Unique_ID, _ lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) num = cf.Address Range(num).Select ActiveCell.Offset(0, 1).Select .Range(Selection, Selection.End(xlDown)).Copy Range(num).Select ActiveCell.Offset(0, 0).Select .Range(Selection, Selection.End(xlDown)).PasteSpecial End With Application.ScreenUpdating = True End Sub 

您可以尝试更改表单的Showmodal属性并查看影响。