Excel精英培训网

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

[已解决]EXCEL高手用VBA解释一下for循环stcatidim

[复制链接]
发表于 2016-2-20 13:27 | 显示全部楼层 |阅读模式
EXCEL高手用VBA解释一下for循环stcatidim


private x as integer
private sub command1_click()
static y as integer
dim z as integer
n=10
z=n+z
y=y+z
x=x+z

print x;y;z

end sub


显示为( )

A,10  10  10
B,30  30  30
C,30  30  10
D,10  30  30

为什么选这个答案


最佳答案
2016-2-22 11:32
这里涉及到三种变量定义方式:
  1、 private x as integer在模块外,为模块级变量,作用于整个模块,每次运行保留中间结果
  2、 static y as integer :模块内部,保留中间结果
  3、dim z as integer:模块内部,本地变量,不保留中间结果

第一次运行:初始状态x=0:y=0:z=0     n=0:z=n+0=10:x=0+z=10:y=0+z=10
第二次运行:初始状态x=0:y=10:z=10    n=0:z=n+0=10:x=10+z=20:y=10+z=20
第三次运行:初始状态x=0:y=20:z=20    n=0:z=n+0=10:x=10+z=30:y=10+z=30
。。。。。。
发表于 2016-2-22 11:32 | 显示全部楼层    本楼为最佳答案   
这里涉及到三种变量定义方式:
  1、 private x as integer在模块外,为模块级变量,作用于整个模块,每次运行保留中间结果
  2、 static y as integer :模块内部,保留中间结果
  3、dim z as integer:模块内部,本地变量,不保留中间结果

第一次运行:初始状态x=0:y=0:z=0     n=0:z=n+0=10:x=0+z=10:y=0+z=10
第二次运行:初始状态x=0:y=10:z=10    n=0:z=n+0=10:x=10+z=20:y=10+z=20
第三次运行:初始状态x=0:y=20:z=20    n=0:z=n+0=10:x=10+z=30:y=10+z=30
。。。。。。

评分

参与人数 1 +6 收起 理由
vbyou127 + 6 来学习

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 17:08 , Processed in 0.121211 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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