2013-10-11 94 views
4

我是Excel VBA的新手。Excel VBA将范围复制到新工作簿中

我想从工作表输出复制一个范围的数据到一个新的Excel工作簿,并保存与E3中的值的新工作簿。

作为奖励,我很乐意能也将数据复制到wordpad,并保存为E3.xml

这里是VBA我迄今:

Sub CopyOutput() 
Dim myname As String 
mystring = E3 
Dim myselection As Range 

myselection = Sheets("Output").Columns("F").Select 
Set NewBook = Workbooks.Add 
    With NewBook 
     .SaveAs Filename:="C:\Program Files\White Plume\Scenarios\" & myname & ".xls", FileFormat:= _ 
      xlsx, CreateBackup:=False 
    End With 
myselection.Paste 
End Sub 
+0

是否要复制整个'列F'? – Santosh

回答

8

修改,以适应您的具体情况,或根据需要更通用:

Private Sub CopyItOver() 
    Set NewBook = Workbooks.Add 
    Workbooks("Whatever.xlsx").Worksheets("output").Range("A1:K10").Copy 
    NewBook.Worksheets("Sheet1").Range("A1").PasteSpecial (xlPasteValues) 
    NewBook.SaveAs FileName:=NewBook.Worksheets("Sheet1").Range("E3").Value 
End Sub 
+0

谢谢兰斯。用于复制和粘贴的脚本有效,但我仍然遇到SaveAs问题。我试图创建名为A3.xlsx的文件我的VBA行如下:NewBook.SaveAs Filename:= NewBook.Worksheets(“Sheet1”)。Range(“A3”)。值 – user2872317

+0

您需要更具体一些你的问题是?你遇到了什么错误? –

+0

请注意,如果您只是找不到该文件,那么我的文件夹就已经存在了。您可能也想要指定路径。 –

相关问题