Excel VBA 复制范围到新工作簿

6

我是一个 Excel VBA 新手。

我想要将工作表 “output” 的一段数据复制到一个新的 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

你想要复制整个 F列 吗? - Santosh
1个回答

14

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

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

谢谢Lance。复制和粘贴的脚本可以工作,但我仍然在SaveAs方面遇到问题。我正在尝试创建名为A3.xlsx的文件。我的VBA代码如下:NewBook.SaveAs Filename:=NewBook.Worksheets("Sheet1").Range("A3").Value - user2872317
你需要更具体地说明你的问题是什么?你遇到了什么错误? - Lance Roberts
请注意,如果您无法找到文件,则我的文件最终在“文档”文件夹中。您可能还希望指定路径。 - Lance Roberts
文件保存在正确的路径,但保存为01文件而不是.xlsx文件。 - user2872317
1
我现在离开了我的电脑,无法查看我的文件保存的扩展名是什么,但你可以尝试将扩展名连接到Range("A3").value后面,例如".xlsx"。 - Lance Roberts
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接