我正在尝试将单个工作表保存到新工作簿(VBA 应该创建一个新工作簿)。
代码正在运行,新工作簿会弹出,其中包含所需的数据,并且“另存为”对话框窗口也会打开,但是当我选择名称并保存文件时,找不到新工作簿保持打开状态(Book1 或无论自动填充什么)。
我希望在对话窗口打开时自动填充“另存为”名称,并使其引用原始工作簿中的两个单元格(即 $A$11、$B$11)。
这是我的 VBA:
Option Explicit
Sub SaveConsolidatedDemandData()
' Macro2 Macro
'Dim NameFile As Variant
'With Worksheets("SO1")
'NameFile = .Range("M3") & "_" & .Range("C11") & "_" & .Range("B22") & ".xls"
'End With
Application.ScreenUpdating = False
'
'
Sheets("Consolidation").Select
Sheets("Consolidation").Copy
Application.GetSaveAsFilename
Application.ScreenUpdating = True
End Sub
这是一个宏,显示/执行您所要求的操作。根据需要更改工作簿名称以及工作表名称:
Sub test()
Dim wb, wbnew As Workbook
Dim ws As Worksheet
Dim filename As String
Set wb = Workbooks(2) 'Name of the workbook you are copying from
Set ws = wb.Sheets("Sheet1") 'Name of sheet you are copying
filename = ws.Range("A11") & "_" & ws.Range("B11")& ".xlsm"
'adds new workbook
Set wbnew = Workbooks.Add
wb.Activate
'copies sheet to new workbook
wb.Sheets("Sheet1").Copy Before:=wbnew.Sheets(1)
'Save as dialog box to save as excel file
Application.Dialogs(xlDialogSaveAs).Show filename
wbnew.Close
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)