Excel VBA将范围复制到新的工作簿中 [英] Excel VBA Copy a Range into a New Workbook

查看:874
本文介绍了Excel VBA将范围复制到新的工作簿中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我正在尝试从工作表中复制一系列数据输出到一个新的excel工作簿,并保存新的工作簿与E3中的价值。



作为一个奖励,我希望能够将数据复制到 wordpad 并保存为E3.xml



这是$ code> VBA 我到目前为止:

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

myselection = Sheets(Output)。列(F)。选择
设置NewBook = Workbooks.Add
使用NewBook
.SaveAs文件名:=C:\Program Files\White Plume\Scenarios\&我的名字.xls,FileFormat:= _
xlsx,CreateBackup:= False
End with
myselection.Paste
End Sub
/ pre>

解决方案

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

  Private Sub CopyItOver()
设置NewBook = Workbooks.Add
工作簿(Whatever.xlsx)。工作表(output)。 (A1:K10)复制
NewBook.Worksheets(Sheet1)。范围(A1)。PasteSpecial(xlPasteValues)
NewBook.SaveAs FileName:= NewBook.Worksheets(Sheet1 ).Range(E3)。值
End Sub


I am a newbie to Excel VBA.

I am trying to copy a range of data from worksheet output into a new excel workbook and save the new workbook with the the value in E3.

As a bonus, I would love to be able to also copy the data into wordpad and save as E3.xml

Here is the VBA I have thus far:

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

解决方案

Modify to suit your specifics, or make more generic as needed:

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

这篇关于Excel VBA将范围复制到新的工作簿中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆