Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2357|回复: 9

[已解决]不知什么原因,总是代码运行时错误“13”,类型不匹配,谁能帮我看看是什么原因呢?

[复制链接]
发表于 2017-4-21 14:29 | 显示全部楼层 |阅读模式

Sub 宏1()
Dim sht, s
For Each sht In Worksheets
    If sht.Tab.ColorIndex = 10 Then
        s = s & "," & sht.Name
    End If
Next sht
s = Mid(s, 2)
s = Split(s, ",")
Sheets(s).Copy
End Sub


最佳答案
2017-4-21 15:00

  1. Sub 宏1()
  2. Dim sht, s
  3. For Each sht In Worksheets
  4.     If sht.Tab.Color = 5287936 Then
  5.         s = s & "," & sht.Name
  6.     End If
  7. Next sht
  8. s = Mid(s, 2)
  9. s = Split(s, ",")
  10. Sheets(s).Copy
  11. End Sub
复制代码
发表于 2017-4-21 14:42 | 显示全部楼层
检查colorindex是否等于10  要是不等于10,那S就是一个空的variant类型的数据,那你mid去截取肯定提示你出错
回复

使用道具 举报

 楼主| 发表于 2017-4-21 14:49 | 显示全部楼层
Excel学徒123 发表于 2017-4-21 14:42
检查colorindex是否等于10  要是不等于10,那S就是一个空的variant类型的数据,那你mid去截取肯定提示你出 ...

我对代码不懂,我把附件传来,麻烦你能帮我看看是什么原因好吗?,谢谢!

Book21.rar

21.1 KB, 下载次数: 6

回复

使用道具 举报

发表于 2017-4-21 14:55 | 显示全部楼层
我运行的时候并没有报错啊
回复

使用道具 举报

发表于 2017-4-21 15:00 | 显示全部楼层    本楼为最佳答案   

  1. Sub 宏1()
  2. Dim sht, s
  3. For Each sht In Worksheets
  4.     If sht.Tab.Color = 5287936 Then
  5.         s = s & "," & sht.Name
  6.     End If
  7. Next sht
  8. s = Mid(s, 2)
  9. s = Split(s, ",")
  10. Sheets(s).Copy
  11. End Sub
复制代码
回复

使用道具 举报

发表于 2017-4-21 15:01 | 显示全部楼层
qingping95 发表于 2017-4-21 14:49
我对代码不懂,我把附件传来,麻烦你能帮我看看是什么原因好吗?,谢谢!

看5楼
回复

使用道具 举报

 楼主| 发表于 2017-4-21 15:06 | 显示全部楼层

对比了一下,改了个数字,虽然不明什么意思,但用你修改后的代码问题解决了!谢谢版主!!1
回复

使用道具 举报

发表于 2017-4-21 15:07 | 显示全部楼层
qingping95 发表于 2017-4-21 15:06
对比了一下,改了个数字,虽然不明什么意思,但用你修改后的代码问题解决了!谢谢版主!!1

不客气
回复

使用道具 举报

发表于 2017-4-21 15:11 | 显示全部楼层
Sub 宏1()
    Dim sht, i, arr()

    For Each sht In Worksheets
        If sht.Tab.ColorIndex = 10 Then
            i = i + 1
            ReDim Preserve arr(1 To i)
            arr(i) = sht.Name
        End If
    Next sht

    If i > 0 Then Sheets(arr).Copy
End Sub


新建一个空白工作簿,5楼仍报错。
原因见2楼,需保数组不出错。
回复

使用道具 举报

 楼主| 发表于 2017-4-21 21:00 | 显示全部楼层
本帖最后由 qingping95 于 2017-4-21 21:02 编辑
爱疯 发表于 2017-4-21 15:11
Sub 宏1()
    Dim sht, i, arr()

非常棒,学习了,非常感谢超级版的回复和帮助!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 12:41 , Processed in 0.386852 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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