|
常常看到坛子里有人需要对写好的VBA代码进行解释,今日突然冒出个念头,不知有没有高手愿意用vba写一个vba代码的解释工具,实现的类似如下的效果,可对常见函数及语句进行解释:
Private Sub Worksheet_Change(ByVal Target As Range) '当工作表发生改变时执行程序
If Target.Address = "$A$1" Then '如果发生改变的单元格地址是$a$1则执行下面语句
Application.ScreenUpdating = False '关闭屏幕刷新(主要是为了提高运行速度)
UsedRange.EntireRow.Hidden = False '显示隐藏行
For i = 3 To Range("A65536").End(xlUp).Row '设定循环变量i的值等于3到a列最大行号
If Cells(i, 1) <> [A1] And Cells(i, 3) <> [A1] Then Rows(i).Hidden = True '如果a列和c列单元格的值同时都不等于a1的值则该行隐藏
Next i '下一个i的值
Application.ScreenUpdating = True '打开屏幕更新
End If '判断结束
End Sub '程序结束
我想原则上是可以实现的,但函数及语法数据会相当大,最好多人分工配合来搞
PS:本人乃VBA后进,且所从事之职业与其没多大关系,来坛子里泡了许久,得益良多,然自知对各位前辈高人无力帮助,只好发扬其精神
助人为乐,受助开心
Private Sub Worksheet_Change(ByVal Target As Range) '当工作表发生改变时执行本程序
If Target.Address = "$A$1" Then '如果Target的地址="$A$1" 则执行
Application.ScreenUpdating = False 'Application的屏幕刷新=False
UsedRange.EntireRow.Hidden = False '已使用区域的整个行的隐藏=False
For i = 3 To Range("A65536").End(xlUp).Row '设定变量范围为i=3到单元格范围("A65536")的末端(方向向上)的行标
If Cells(i, 1) <> [A1] And Cells(i, 3) <> [A1] Then Rows(i).Hidden = True '如果单元格集合(i,1)不等于[A1]并且单元格集合(i,3)不等于[A1] 则执行 行数(i)的隐藏=True
Next i '下一个i
Application.ScreenUpdating = True 'Application的屏幕刷新=True
End If '判断过程结束
End Sub '子程序结束
以上是本人这两天写的一个翻译示例程序翻译出的结果,还在进一步扩大关键词库中,如果有人有VBA的保留字库,请分享一下,我现在是看到什么输入什么,很乱
希望这样大家能看到希望,在不久将来我会将拿得出手的文件共享出来
程序已共享,请到下面地址下载
http://club.excelhome.net/thread-547868-1-1.html
[ 本帖最后由 kevinchengcw 于 2010-3-16 18:06 编辑 ] |
|