2017-07-26 198 views
0

希望这对社区来说很简单。VBA:另存为工作表到新的工作簿

我试图将单个工作表保存到一个新的工作簿(VBA应创建一个新的工作簿)。 代码正在运行,新工作簿弹出所需的数据,另存为对话窗口也会打开,但是当我选择名称并保存文件时,不会在哪里找到新工作簿保持打开状态(Book1或任何自动填充。

我想了另存为名称自动填充对话窗口打开时,并已将其引用到两个单元(即$ A $ 11 $ B $ 11),在原来的工作簿。

这是我非常基本的vba现在我的第一次尝试在参考代码是行不通的。 PAS请填写完整的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 
+0

退房此链接:[所有工作簿表复制到一个新的工作簿VBA(https://stackoverflow.com/questions/35094057/copy-all -workbook表到一个新工作簿-VBA) – Chuck

回答

1

这是一个宏显示/做你在问什么。根据需要更改工作簿的名称以及表名称:

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 
相关问题