将Excel工作表移动或复制到另一个工作簿(目标工作簿使用变量命名)

问题描述:

我想将Excel工作表复制到另一个Excel工作簿。这通常不会太难,除非我将工作表移动到使用变量保存的工作簿中。将Excel工作表移动或复制到另一个工作簿(目标工作簿使用变量命名)

这里有点我的代码:

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

“政策搜索”将永远被命名为相同的,这就是我想移动的工作簿。但是,我试图将其移动到使用变量“fname”动态保存的文件以及表名“SheetName”。

每次我尝试运行这段代码时,我都会收到下标超出范围的错误。有想法该怎么解决这个吗?

谢谢!

+1

fname是字符串变量还是工作簿变量? –

+0

字符串变量。我应该将其更改为工作簿吗? –

+0

表单“策略搜索”是否存在? 'fname'引用的工作簿是否存在并打开?该工作簿是否包含由变量“SheetName”引用的工作表? (或者是一个拼写错误,是为了“SheetName”?) – YowE3K

试试这个:

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

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

+0

这实际上是我之前写的。仍然有相同的错误。谢谢你。 –