Excel 如何将工作表复制到其他工作簿
我试图将活动工作表复制到其他工作簿中,但由于某些原因,我不知道我没有成功(即使在寻找其他似乎有效的解决方案的帖子之后)。我怎样才能做到这一点 这是我的密码:Excel 如何将工作表复制到其他工作簿,excel,vba,copy-paste,Excel,Vba,Copy Paste,我试图将活动工作表复制到其他工作簿中,但由于某些原因,我不知道我没有成功(即使在寻找其他似乎有效的解决方案的帖子之后)。我怎样才能做到这一点 这是我的密码: If CheckBox2 = True Then direccionar = Application.GetOpenFilename(, , "Select database") Set sourcewz = Workbooks.Open(Filename:=direccionar) l = sourcewz.Wor
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子索引超出间隔
这是因为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)
如果
direcciar
不是excel文件,会发生什么情况?direcciar
不会是excel文件。GetOpenFilename
返回一个变量。如果用户按“取消”,则它是一个布尔值false
,否则它是一个字符串。首先感谢您的帮助。第二,现在它做了一个副本,但不是所需的表,在代码中命名为hojaactiva,我尝试过这种修改,但仍然不起作用。。。direcciator=Application.GetOpenFilename(,“选择数据库”)设置sourcewz=Workbooks.Open(Filename:=direcciator)whisky=HojaActiva.Name Application.Sheets(whisky)。复制后:=sourcewz.Sheets(sourcewz.Sheets.Count)检查我所做的编辑。我以为你是想复制ActiveSheet
。我知道HojaActiva在西班牙语中的意思是ActiveSheet,这个名字有误导性:)现在它应该可以工作了。谢谢你!!它起作用了!!这确实意味着,但Vba将其作为一个简单的变量,因为VB编辑器就像“britishh”jajaja一样