Excel精英培训网

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

[已解决]宏运行提示错误 1004

[复制链接]
发表于 2012-2-5 02:07 | 显示全部楼层 |阅读模式
Book2b.rar (12.18 KB, 下载次数: 12)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-2-5 07:56 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2012-2-5 07:56 编辑

Sub test()
    Dim a, Ar(1 To 10000, 1 To 1)
    a = [a6:bz8]
    For j% = 1 To UBound(a, 2) - 2
        s1$ = "": s2$ = "": s3$ = ""
        For i% = 1 To 5
            stmp1$ = Mid(a(1, j), i, 1)
            If InStr(a(1, j + 1), stmp1) > 0 And InStr(a(1, j + 2), stmp1) > 0 Then s1 = s1 & "," & stmp1
            stmp1$ = Mid(a(2, j), i, 1)
            If InStr(a(2, j + 1), stmp1) > 0 And InStr(a(2, j + 2), stmp1) > 0 Then s2 = s2 & "," & stmp1
            stmp1$ = Mid(a(3, j), i, 1)
            If InStr(a(3, j + 1), stmp1) > 0 And InStr(a(3, j + 2), stmp1) > 0 Then s3 = s3 & "," & stmp1
       Next i
       If s1 <> "" And s2 <> "" And s3 <> "" Then
         For Each k1 In Split(Mid(s1, 2), ",")
            For Each k2 In Split(Mid(s2, 2), ",")
                For Each k3 In Split(Mid(s3, 2), ",")
                    R = R% + 1
                    Ar(R, 1) = k1 & k2 & k3
                Next
            Next
        Next
       End If
    Next j
    Range("c15:c6755").Clear
    If  R = 0 Then Exit Sub
    Range("c15").Resize(R).NumberFormat = "@"
    Range("c15").Resize(R) = Ar
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 20:31 , Processed in 0.308558 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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