【问题标题】:Excel VBA Copy a Range into a New WorkbookExcel VBA 将范围复制到新工作簿中
【发布时间】:2013-10-11 19:33:37
【问题描述】:

我是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

【问题讨论】:

  • 要复制整个column F 吗?

标签: vba excel


【解决方案1】:

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

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

【讨论】:

  • 谢谢兰斯。复制和粘贴的脚本有效,但我仍然遇到 SaveAs 的问题。我正在尝试创建名为 A3.xlsx 的文件 我的 VBA 行如下:NewBook.SaveAs Filename:=NewBook.Worksheets("Sheet1").Range("A3").Value
  • 您需要更具体地了解您的问题是什么?你遇到了什么错误?
  • 请注意,如果您找不到该文件,我的文件最终会出现在 Documents 文件夹中。您可能还想指定路径。
  • 文件保存在正确的路径中,但保存为 01 文件而不是 .xlsx
  • 我现在离开我的机器,看看我保存为扩展名的内容,但你可以尝试连接扩展名 Range("A3").value & ".xlsx"
猜你喜欢
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多