设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1634|回复: 1
打印 上一主题 下一主题

[基础应用] 有关excel的宏问题求教!!!

[复制链接]
跳转到指定楼层
1#
发表于 2005-11-16 18:07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有一段宏,一按快捷键就报错;

运行时出错'1004'

类range的select方法无效.





进入basic调试时出现有一行错误,不知是什么原因,以下是程序原文:

Sub 打印开机单()

'

' p Macro

' PK1 记录的宏 2000-2-20

'

' 快捷键: Ctrl+p

'

If Date < DateValue("2005/05/01") Then



'COPY 格式

    Sheets(2).Select

    Cells.Select

    Selection.Copy

    Sheets(1).Select

    Cells.Select

    ActiveSheet.Paste



'输入单号

    VC = InputBox(PROMPT:="请输入单号,此操作将生成开机单。。。。。。。。。。。请输入单号,此操作将生成开机单。。。。。。。。。。。请输入单号,此操作将生成开机单。。。。。。。。。。。。", Title:="请输入单号", Default:="D0")

     

'调用数据

' Worksheets(3).ACTIVE

Worksheets(3).Select

     

  For B = 1 To 10000

   If IsEmpty(Cells(B, 1)) * IsEmpty(Cells(B, 2)) * IsEmpty(Cells(B, 3)) * IsEmpty(Cells(B, 4)) Then

      ta = B - 1

      Exit For

   End If

  Next B

  

   For i = 2 To ta

      If Cells(i, 3) = VC Then

      

        Worksheets(3).Cells(i, 1).Select

           With Selection.Interior

                 .ColorIndex = 34

                 .Pattern = xlSolid

           End With

      

         If Worksheets(3).Cells(i, 16) = "2" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "圆" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "圆筒" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "圆筒。" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "圆筒." Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "园" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         ElseIf Worksheets(3).Cells(i, 16) = "园筒" Then

              Worksheets(1).Cells(31, 1) = "1.圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。圆筒。"

         Else

              Worksheets(1).Cells(31, 1) = "1.抽开幅线。"

         End If

      

         If Worksheets(3).Cells(i, 17) = "2" Then

              Worksheets(1).Cells(32, 1) = "2.自对办开机,附办。"

         ElseIf Worksheets(3).Cells(i, 17) = "3" Then

              Worksheets(1).Cells(32, 1) = "2.自对单开机。"

         Else

              Worksheets(1).Cells(32, 1) = "2.交工艺检查对单对办后开机。一定要对过业务部定货单。"

         End If

      

         If Worksheets(3).Cells(i, 1) = "S" Then

              CMM = "单面机。"

         ElseIf Worksheets(3).Cells(i, 1) = "D" Then

              CMM = "双面机。"

         ElseIf Worksheets(3).Cells(i, 1) = "R" Then

CMM = "罗纹机。"

         ElseIf Worksheets(3).Cells(i, 1) = "T" Then

              CMM = "双卫衣机。"

         ElseIf Worksheets(3).Cells(i, 1) = "V" Then

              CMM = "反包毛巾机。"

         ElseIf Worksheets(3).Cells(i, 1) = "W" Then

              CMM = "正包毛巾机。"

         ElseIf Worksheets(3).Cells(i, 1) = "C" Then

              CMM = "工业布机台。"

         ElseIf Worksheets(3).Cells(i, 1) = "F" Then

              CMM = "横机。"

         ElseIf Worksheets(3).Cells(i, 1) = "H" Then

              CMM = "144F单面机。"

         ElseIf Worksheets(3).Cells(i, 1) = "A" Then

              CMM = "自动间单面机。"

         Else

              CMM = "机。"

         End If

      

         Worksheets(1).Cells(3, 2) = Worksheets(3).Cells(i, 2)

         Worksheets(1).Cells(4, 2) = Worksheets(3).Cells(i, 3)

         Worksheets(1).Cells(5, 2) = Worksheets(3).Cells(i,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-11-16 19:52:00 | 只看该作者
估计是因为第一个IF语句(If Date < DateValue("2005/05/01") )的条件不成立,直接就运行了你的最后一句代码,也就是出错的Worksheets(1).Cells(11, 2).Select。而这时因为Worksheets(1)工作表尚未被激活,所以,无法直接执行.Cells(11, 2).Select。建议,把这句分成两句:Worksheets(1).ActiveCells(11, 2).Select还有,你的代码非常之不简洁,执行效率一定非常之低下。建议学会用用Case代替Else IF嵌套,用With来减少工作表引用,用变量和循环来简化数据写入的单元格的代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 14:31 , Processed in 0.084010 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表