我想打开并运行VBA宏,而不显示新的Excel窗口已打开
我构建了一个宏,该宏在打开的Excel文件中运行宏,然后关闭。当新窗口打开时,是否可以使其不显示(隐藏)? 如果可以,如何将其添加到下面的代码中我想打开并运行VBA宏,而不显示新的Excel窗口已打开,vba,excel,Vba,Excel,我构建了一个宏,该宏在打开的Excel文件中运行宏,然后关闭。当新窗口打开时,是否可以使其不显示(隐藏)? 如果可以,如何将其添加到下面的代码中 Sub Open_Fill_Close() Worksheets("Sheet1").Select invoiceNo = Range("A1") Set myData = Workbooks.Open("HD:Users:UserT:Desktop:QR.xlsm") Worksheets("QR Code").Select Worksheets
Sub Open_Fill_Close()
Worksheets("Sheet1").Select
invoiceNo = Range("A1")
Set myData = Workbooks.Open("HD:Users:UserT:Desktop:QR.xlsm")
Worksheets("QR Code").Select
Worksheets("QR Code").Range("Y39").Select
RowCount = Worksheets("QR Code").Range("Y39").CurrentRegion.Rows.Count
With Worksheets("QR Code").Range("Y39")
.Offset(RowCount, 0) = invoiceNo
End With
Application.Run "QR.xlsm!ExportCellsAsPicture"
Workbooks("QR.xlsm").Close False
End Sub
您将需要创建一个新的应用程序实例。在当前Excel会话中打开图纸将使其可见
Dim xlApp as New Excel.Application
xlApp.Visible = False 'Visible is False by default, so this isn't necessary
Dim myData As Excel.Workbook
Set myData = xlApp.Workbooks.Add("HD:Users:UserT:Desktop:QR.xlsm")
myData.Worksheets("QR Code").Select
myData.Worksheets("QR Code").Range("Y39").Select
RowCount = myData.Worksheets("QR Code").Range("Y39").CurrentRegion.Rows.Count
With myData.Worksheets("QR Code").Range("Y39")
.Offset(RowCount, 0) = invoiceNo
End With
Application.Run "QR.xlsm!ExportCellsAsPicture"
Workbooks("QR.xlsm").Close False
wrkBook.Close False
xlApp.Quit
要在屏幕上隐藏宏的操作,请添加
Application.ScreenUpdating=False
到代码的开头。最后将其设置回True
为什么要将宏存储在另一个工作簿中?我认为你不能做你想做的事。但是,如果您将其存储为自定义功能区或其他东西,您可以实现这一点,但它会变得更加复杂。请选择一个答案,说明是否可以关闭此功能区。保持清洁,让我们不要夸大未回答的问题,我到底应该把它放在我的代码中的什么地方?谢谢通常,在代码的最开始和最末尾。ie:Sub Foo()
然后Application.screenUpdate=False