【问题标题】:Move or Copy Excel Sheet to Another Workbook (Destination workbook is named using variable)将 Excel 工作表移动或复制到另一个工作簿(目标工作簿使用变量命名)
【发布时间】:2016-08-31 04:44:34
【问题描述】:

我正在尝试将一个 Excel 工作表复制到另一个 Excel 工作簿中。这通常不会太难,除非我将工作表移动到使用变量保存的工作簿中。

这是我的一些代码:

Sheets.Add After:=Sheets(Sheets.Count)
ActiveCell.FormulaR1C1 = "a"
Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName)

“策略搜索”将始终命名相同,这就是我要移动的工作簿。但是,我正在尝试将其移动到使用变量“fname”和工作表名称“SheetName”动态保存的文件中。

每次我尝试运行这段代码时,都会收到一个下标超出范围的错误。有关如何解决此问题的任何想法?

谢谢!

【问题讨论】:

  • fname 是字符串变量还是工作簿变量?
  • 字符串变量。我应该将其更改为工作簿吗?
  • “策略搜索”工作表是否存在? fname 引用的工作簿是否存在并且是否打开?该工作簿是否包含变量SheetName 引用的工作表? (或者这是一个错字,应该是"SheetName"?)
  • fname 是否包含完全限定的文件名/路径,还是仅包含文件名? (Workbooks 对象由文件名索引,而不是名称/路径。)

标签: excel vba


【解决方案1】:

试试这个:

Sub MoveSheet()
    Sheets("Policy Search").Select
    Sheets("Policy Search").Move After:=Workbooks(fname).Sheets(SheetName)
End Sub

假定“策略搜索”是活动工作表。

【讨论】:

  • 这实际上是我之前写的。仍然得到同样的错误。不过谢谢。
猜你喜欢
  • 2021-06-16
  • 1970-01-01
  • 2020-05-26
  • 2011-03-14
  • 2017-09-18
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多