Excel精英培训网

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

[已解决]为什么不执行??帮忙一下,谢谢!!1

[复制链接]
发表于 2012-4-23 11:26 | 显示全部楼层 |阅读模式
Private Sub CommandButton1_Click()
Dim i As Integer
Dim key As String
Dim d As New Dictionary
Dim list(1 To 1000, 1 To 3) As Variant
For i = 2 To Application.WorksheetFunction.Match("%", Range("A2:A65536"), 0)
    d(Mid(Cells(i, 1), 2, 2) + 0) = 25.4 * (Right(Cells(i, 1), 4) + 0) / 10000
Next
i = Application.WorksheetFunction.Match("%", Range("A2:A65536"), 0) + 1
k = 0
Do While Cells(i + 1, 1) <> ""
    i = i + 1
    If Len(Cells(i, 1)) = 2 Then
        key = Cells(i, 1)
    Else
        If InStr(1, Cells(i, 1), "G85") <> 0 Then
            k = k + 1
            list(k, 3) = Cells(i, 1)
            list(k, 1) = key
            list(k, 2) = d(Right(key, Len(key) - 1) + 0)
        End If
    End If
Loop
[B2].Resize(k, 3) = list
End Sub
这边不执行,为什么???
最佳答案
2012-4-23 11:36
把代码中
Dim d As New Dictionary   更改如下就可以了

Set d = CreateObject("scripting.dictionary")

Book144.rar

17.14 KB, 下载次数: 3

发表于 2012-4-23 11:35 | 显示全部楼层
回复

使用道具 举报

发表于 2012-4-23 11:36 | 显示全部楼层    本楼为最佳答案   
把代码中
Dim d As New Dictionary   更改如下就可以了

Set d = CreateObject("scripting.dictionary")
回复

使用道具 举报

发表于 2012-4-23 11:39 | 显示全部楼层
见附件  就改了一句而已

Book144.rar

19.61 KB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-6 06:04 , Processed in 0.389635 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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