Excel精英培训网

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

[已解决]代码的意思是

[复制链接]
发表于 2011-12-23 11:14 | 显示全部楼层 |阅读模式
Sub 清空()
    Dim i As Long, J As Long
    Application.ScreenUpdating = False
    Row1 = Range("C65536").End(xlUp).Row
    ROW2 = Range("D65536").End(xlUp).Row
   
    Dim arr, brr
    arr = Range("C7:C" & Row1)
    brr = Range("I7:I" & Row1)
    For i = 1 To UBound(arr)
        If arr(i, 1) = "RE" Then brr(i, 1) = ""
    Next i
    [i7].Resize(UBound(brr)) = brr
    Application.ScreenUpdating = True
End Sub
  老师们好 不太理解这个代码 请帮我理解下呗  主要不理解的是 绿色部分的
还有就是  粉色部分的 为什么不可以这样写呢  If arr = "RE" Then brr(i, 1) = ""     arr不就是变量了吗? 我是刚学的所以不懂的多些 烦请老师们帮助

最佳答案
2011-12-23 12:00
application.screenupdating=false,application.screenupdating=ture是屏幕刷新禁用和启用,一般成对使用!可以加快程序执行速度。
[i7].Resize(UBound(brr)) = brr是将数组brr赋值给i7单元格扩展brr数组最大上标的行数后的一个新数组!UBound(brr)是指数组brr的最大上标,resize()扩展单元格或区域的行列数,此处省略了列数!具体事例参见vbe帮助文件。不知道说清楚没!我也是新手。
发表于 2011-12-23 11:35 | 显示全部楼层
ARR是一个不定类型变量,它可以接受除定长字符串和自定义格式外的所有数组
之前的那段区域赋值给ARR,就是把数组赋值给它了,后面引用它的元素,也要用数组的引用方式 。
详见以下帮助内容:

QQ截图20111223113540.png
回复

使用道具 举报

发表于 2011-12-23 12:00 | 显示全部楼层    本楼为最佳答案   
application.screenupdating=false,application.screenupdating=ture是屏幕刷新禁用和启用,一般成对使用!可以加快程序执行速度。
[i7].Resize(UBound(brr)) = brr是将数组brr赋值给i7单元格扩展brr数组最大上标的行数后的一个新数组!UBound(brr)是指数组brr的最大上标,resize()扩展单元格或区域的行列数,此处省略了列数!具体事例参见vbe帮助文件。不知道说清楚没!我也是新手。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-1 05:15 , Processed in 0.213731 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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