问题见下面帖子的2楼图片
http://club.excelhome.net/viewthread.php?tid=594375&pid=3987121&page=1&extra=page%3D1
Sub ll()
Dim D As Double, L As Double, t As Double
With Sheet1
D = .Cells(1, 3)
L = .Cells(2, 3)
t = .Cells(3, 3)
temp = a1(D, L, t, 10)
'目标需求, D, L, t 不要发生变化
temp = B1(D, L, t, 10)
'目标需求, D, L, t 不要发生变化
End With
End Sub
''
Function a1(D, L, t, kk)
D = D / kk
L = L / kk
t = t / kk
End Function
''
Function B1(D1, L1, t1, kk)
D1 = D1 / kk
L1 = L1 / kk
t1 = t1 / kk
End Function这种变量传递,D, L, t经过Function传递后,数据发生变化.
http://club.excelhome.net/viewthread.php?tid=594375&pid=3987121&page=1&extra=page%3D1
Sub ll()
Dim D As Double, L As Double, t As Double
With Sheet1
D = .Cells(1, 3)
L = .Cells(2, 3)
t = .Cells(3, 3)
temp = a1(D, L, t, 10)
'目标需求, D, L, t 不要发生变化
temp = B1(D, L, t, 10)
'目标需求, D, L, t 不要发生变化
End With
End Sub
''
Function a1(D, L, t, kk)
D = D / kk
L = L / kk
t = t / kk
End Function
''
Function B1(D1, L1, t1, kk)
D1 = D1 / kk
L1 = L1 / kk
t1 = t1 / kk
End Function这种变量传递,D, L, t经过Function传递后,数据发生变化.
解决方案 »
- 用mschart 画 饼状图 并且用SQL 载入数据 急求!!!
- VB回调函数怎么写?参数怎么传?
- 遍历进程模块 问题
- 看看还有多少兄弟搞VB 的,有一个工作机会!
- 关于textbox的问题
- 我刚学习vb,我想问一下,怎么判断一个string字符串是否是整数?
- 请问,VB6.0企业版是不是不可以安装在XP下呀
- flexgrid 中AutoSizeMode和AutoSize的区别?
- 非常妖的问题:在vb中引用了microsoft excel 9.0 object library,原来的toolbar类型的变量工作不正常!!
- 请教各位大哥:如何自动获取Win XP/2000/NT的Desktop和My Documents路径
- 在线等待:怎样用已经打开的AUTOCAD2008打开一指定的dwg文件,谢谢。
- vb怎么样界面切换?
Sub ll()
Dim D As Double, L As Double, t As Double
With Sheet1
D = .Cells(1, 3)
L = .Cells(2, 3)
t = .Cells(3, 3)
temp = a1(D, L, t, 10)
temp = B1(D, L, t, 10)
End With
End SubFunction a1(D, L, t, kk)
D1 = D / kk
L1 = L / kk
t1 = t / kk
End FunctionFunction B1(D1, L1, t1, kk)
D = D1 / kk
L = L1 / kk
t = t1 / kk
End Function发此帖的目的是,
请各位大侠对这类问题,提出几条注意事项.以免这种弱智问题经常发生.
印象中楼主也不算菜鸟了,可怎么就不知道 ByVal 呢!你 1F 贴出来的代码,Function a1() 和 Function B1() ,不得不说:很垃圾!
temp = a1(byval D, byval L, byval t, 10)
temp = B1(byval D, byval L, byval t, 10)②改变函数参数的声明(推荐这种方式):
Function a1(byval D, byval L, byval t, byval kk)
D = D / kk
L = L / kk
t = t / kk
End FunctionFunction B1(byval D1, byval L1, byval t1, byval kk)
D1 = D1 / kk
L1 = L1 / kk
t1 = t1 / kk
End Function上面的代码是从楼主那儿复制来改的,我也懒得加“类型声明”了。
注意变量多数情况下都应该有明确的数据类型!
嘿,野路子只是根据感觉学-------------
一直没感觉到Byval的厉害.在编程中全都给省略了.结果出现问题,找了半天原因.以后需要注意ByVal的用法了.
Dim D As Double, L As Double, t As Double
With Sheet1
D = .Cells(1, 3)
L = .Cells(2, 3)
t = .Cells(3, 3)
temp = a1((D), (L), (t), 10)
temp = B1((D), (L), (t), 10)
End With
End SubFunction a1(D, L, t, kk)
D1 = D / kk
L1 = L / kk
t1 = t / kk
End FunctionFunction B1(D1, L1, t1, kk)
D = D1 / kk
L = L1 / kk
t = t1 / kk
End Function