Office中国论坛/Access中国论坛

标题: 继续求教怎么用for循环自动复制到工作表? [打印本页]

作者: yanlj518    时间: 2007-11-26 19:02
标题: 继续求教怎么用for循环自动复制到工作表?
设置一个宏通过自动筛选将几个班的数据,分别复制到几个工作表中,又出现一个新问题。用相同的代码,在一个表中能够正常运行,而在另一个表中却提示“运行时错误'1024',选定区域无效”。两个表一样啊,实在不知道为什么了?
作者: iamee    时间: 2007-11-26 20:07
没钱不能下载附件 :L
作者: iamee    时间: 2007-11-26 20:12
代码不一样啊~~~~~~~~
作者: yanlj518    时间: 2007-11-26 21:14
除了range()不一样,其它都一样,为什么会提示选定区域无效呢?
作者: pureshadow    时间: 2007-11-26 23:25
问题出在SHEET(X)上面,既然定义的是X=1TO5,没有SHEET5,当然就报错了。
作者: yanlj518    时间: 2007-11-27 08:06
将X=1TO5,改成4,还是一样啊!实在没招了,还请大家赐教!
作者: pureshadow    时间: 2007-11-27 09:55
我昨天试的是加了个SHEET,然后就没问题了。
作者: yanlj518    时间: 2007-11-27 13:36
能将附件修改上传吗?
作者: pureshadow    时间: 2007-11-27 14:25
看一下
作者: yanlj518    时间: 2007-11-27 15:28
谢谢!的确能运行。我终于发现了一个问题,那就是被复制的表一定要放在复制的表的右边才能正常运行,否则提示“运行时错误'1024',选定区域无效”。真是一个怪问题!
作者: levy_rao    时间: 2007-12-11 04:58
标题: 试一下这样行不行
Sub copy()

    Application.DisplayAlerts = False
   
    For Each Sht In Sheets
        If Sht.Name <> Sheet1.Name Then Sht.Delete       '删除所有分表
    Next
   
    Range("A1393").Select
    Selection.AutoFilter
For x = 1 To 5
    Sheets("b1").Select
    Selection.AutoFilter Field:=4, Criteria1:=x
    Selection.copy
    Set wb = Worksheets.add
    wb.Name = x
    Sheets(x).Select
    Range("A1").Select
    ActiveSheet.Paste
Next x
   
    Sheets("b1").Select
    Sheets("b1").Move Before:=Sheets(1)
    Selection.AutoFilter

    Application.DisplayAlerts = False
End Sub




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3