Excel精英培训网

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

[已解决]谢谢爱疯老师和liuguansky老师,按索引导出的数据出错

[复制链接]
发表于 2010-11-26 19:38 | 显示全部楼层 |阅读模式

w6msozFT.rar (28 KB, 下载次数: 26)

发表于 2010-11-26 20:32 | 显示全部楼层    本楼为最佳答案   

    For h = 1 To UBound(Arr1)
        Arr2(h, 1) = "公司"
        For k = 1 To UBound(Arr)
            If Arr1(h, 1) = Arr(k, 1) Then
               Arr2(h, 1) = "行政"
               Exit For
            End If
        Next k
    Next h

在这部分,增加一句,和删除部分if语句。

[em09]
回复

使用道具 举报

发表于 2010-11-26 20:40 | 显示全部楼层

Exit For放在ELSE之前。

Sub 导入1() '蓝桥老师对定向导入2进行优化,速度提升2倍
'1,声明变量类型用as Long(简写&),适用数据量大的情况;
'2,用数组经过优化,只需要0.34秒。
    'Dim Sht1 As Worksheet, Sht2 As Worksheet
    Dim Arr, Arr1, Arr2, t
    Dim Myr1&, Myr2&, h&, k&
    'Set Sht1 = Sheets("数据源")
    'Set Sht2 = Sheets("结果表")
    't = Timer
Application.ScreenUpdating = False
    'Myr1 = Sht1.Range("a65536").End(xlUp).Row
    'Myr2 = Sht2.Range("a65536").End(xlUp).Row
    Myr1 = Sheet3.Range("q65536").End(xlUp).Row '数据源
    Myr2 = Sheet3.Range("b65536").End(xlUp).Row '结果表
   ' Arr = Sheet3.Range("ad2:ad" & Myr1)
   ' Arr1 = Sheet3.Range("e2:e" & Myr2)
    Arr = Sheet3.Range("q2:q" & Myr1).Value '数据源
    Arr1 = Sheet3.Range("e2:e" & Myr2).Value '结果表
    'ReDim Arr2(1 To Myr2 - 1, 1 To 2)
    ReDim Arr2(1 To Myr2 - 1, 1 To 1)
    For h = 1 To UBound(Arr1)
        For k = 1 To UBound(Arr)
            If CStr(Arr1(h, 1)) = CStr(Arr(k, 1)) Then
               Arr2(h, 1) = "行政"
               Exit For
            Else
               Arr2(h, 1) = "公司"
            End If
        Next k
    Next h
    Sheet3.Range("a2:a" & Myr2) = Arr2
Application.ScreenUpdating = True
Sheet3.Activate
End Sub

回复

使用道具 举报

 楼主| 发表于 2010-11-27 08:58 | 显示全部楼层

回复:(liuguansky)Exit For放在ELSE之前。Sub 导入...

谢谢liuguansky老师,您的程序也测试成功,但是论坛设置限制,不能给出2个最佳答案。

回复

使用道具 举报

发表于 2010-11-27 21:08 | 显示全部楼层

我总是这么悲剧。[em02]
回复

使用道具 举报

 楼主| 发表于 2010-11-29 19:15 | 显示全部楼层

回复:(liuguansky)我总是这么悲剧。[em02]

liuguansky老师,我也觉得不好意思,对不起了。
回复

使用道具 举报

发表于 2010-11-29 19:40 | 显示全部楼层

QUOTE:
以下是引用lhj323323在2010-11-29 19:15:00的发言:
liuguansky老师,我也觉得不好意思,对不起了。

liuguansky 回复很完整,更适合提问者需要,也方便他人浏览学习。

支持!!

 

 

[em24][em24]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 02:30 , Processed in 0.402795 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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