如何将工作表复制到另一个工作簿

时间:2014-11-17 09:35:30

标签: excel vba copy-paste

我正在尝试将活动工作表复制到另一个工作簿,但由于某些原因,我不知道我没有成功(即使在寻找其他可能有效的解决方案的帖子之后)。我怎么能做到这一点?

这是我的代码:

If CheckBox2 = True Then
    direccionar = Application.GetOpenFilename(, , "Select database")
    Set sourcewz = Workbooks.Open(Filename:=direccionar)
    l = sourcewz.Worksheets.Count
    namico = HojaActiva.Name
    namico.Select
    Sheets(namico).Copy after:=Workbooks("Base de pedidos YA procesados.xlsm").Sheets(Sheets.Count)
End If

我收到此错误:

  

错误9子索引超出间隔

1 个答案:

答案 0 :(得分:0)

这是因为Excel无法找到您的工作簿"Base de pedidos YA procesados.xlsm"。 是否要将名为HojaActiva的工作表复制到您尝试打开的工作簿?

在这种情况下使用此代码:

Dim direccionar as Variant
direccionar = Application.GetOpenFilename(, , "Select database")
If direccionar = False Then    'Check if the user pressed Cancel'
    Exit Sub
End If
Set sourcewz = Application.Workbooks.Open(Filename:=direccionar)
HojaActiva.Copy After:=sourcewz.Sheets(sourcewz.Sheets.Count)