用户窗体input后重复macros

macros打开工作簿后,将查看单元格“C27”是否包含任何以下文本:位置1,位置2,位置3或位置4。 如果他们这样做,它将继续保存这些位置的模板的2个副本文件。 如果没有,则会打开一个用户窗体从一个combobox中select正确的位置。

如何重置UserFormclosures后的检查,我试图调用Auto_Open卸载后,但它没有工作。

macros

Sub Auto_Open() With Range("B30") .Value = Time .NumberFormat = "h-mm-ss AM/PM" End With Dim FileName As String Dim FilePath As String Dim FileDate As String Select Case Range("C27").Value Case "Location1", "Location2", "Location3", "Location4" FilePath = "C:\Users\aholiday\Desktop\FRF_Data_Macro_Insert_Test" FileName = Sheets("Data").Range("C27").Text Application.DisplayAlerts = False ThisWorkbook.SaveAs FileName:=FilePath & "\" & FileName Dim FileCopyName As String Dim FileCopyPath As String Dim FileTime As String FilePath = "C:\Users\aholiday\Desktop\Backup" FileName = Sheets("Data").Range("C27").Text FileTime = Sheets("Data").Range("B30").Text ThisWorkbook.SaveAs FileName:=FilePath & "\" & FileName & Space(1) & FileTime & ".xlsx", FileFormat:=xlOpenXMLWorkbook MsgBox "File was saved! Ready for Next Test, Please Exit." Case Else MsgBox "File was not saved, Please Insert The Correct Testing Location" UserForm.Show Exit Sub End Select Application.DisplayAlerts = True End Sub 

用户窗体

 Private Sub UserForm_Initialize() 'Empty TestLocation Box TestLocation.Clear 'Fill TestLocation Box With TestLocation .AddItem "Location1" .AddItem "Location2" .AddItem "Location3" .AddItem "Location4" End With End Sub 

“———————

 Private Sub Insert_Click() Sheets("Data").Activate Range("C27").Value = TestLocation.Value End Sub 

“——————–

 Private Sub CloseBox_Click() Unload Me End Sub 

通过使用下面的代码插入button:

 Private Sub Insert_Click() Sheets("Data").Range("C27").Value = TestLocation.Value Auto_Open End Sub 

代码将工作(testing它),只要你有一个模块中的Auto_Open代码。

如果将Auto_Open子文件放在ThisWorkbook中,则将其移动到模块中。

然后在ThisWorkbook中使用下面的代码:

 Private Sub Workbook_Open() Auto_Open End Sub 

也:

 Case "Location1", "Location2", "Location1", "Location4" 

应该:

 Case "Location1", "Location2", "Location3", "Location4"