VBA将EXCEL筛选后内容复制到新工作表

Set xlA = New Excel.Application
Set xlA = CreateObject("Excel.Application")
Set xlB = xlA.Workbooks.Add
Set xlS = xlB.Worksheets(1)
xlA.Visible = True
Activesheet.Range("A2:F20").SpecialCells(xlCellTypeVisible).Copy xlS.[a1]
这个语句报错“类RANGE的COPY方法无效”,麻烦各位高手看一下。多谢。

【1】xlS.[a1] 改为 xlS.Range("A1")
【2】
Activesheet,这时是你 新建的 Sheet,不是你有数据的Sheet,
可以先激活你有数据的Sheet,
如:Workbooks("你有数据的工作表名").Worksheets(1).Active 然后再Copy

或者在新建一个Workbook之前,如果 有数据的Workbooks中的SHeet是当前激活的 SHeet,则可以先将它赋值给变量。 dim AS =New Worksheet
set AS=Activesheet
然后再建立新的工作表,Copy时用:
AS.Range("A2:F20").SpecialCells(xlCellTypeVisible).Copy xlS.Range("A1")
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-13
是不是第4行"WORKSHEETS"要改为"sheets“
第2个回答  2011-11-13
建议你录个宏看看就知道了
相似回答