作者yauhh (举杯邀鼠长 共饮长江奶)
看板Visual_Basic
标题Re: [VBA ] 请问下列程式如何将sub程序改成functio …
时间Fri Sep 26 11:56:30 2008
※ 引述《sharon999 (夏天)》之铭言:
: Sub 去零值()
: Dim 转换格式 As String
: Dim BB, AnyString, MyStr
: Sheets(1).Select
: 转换格式 = Application.WorksheetFunction.Text(Range("B1"),"[DBNum2]")
: Range("B2").Value = 转换格式
: BB = "零"
: k = Len(转换格式)
: For i = 1 To k
: MyStr = Mid(转换格式, i, 1)
: If MyStr < > BB Then
: aa = aa + MyStr
: End If
: Next
: Range("B3").Value = aa + " 元整"
: End Sub
sub是处理一个动作,function是做一套内部计算之後传回一个答案.
你问以上sub要怎麽改function,很难回答你,因为你还要想想你要什麽样的function.
因为最少把Sub和End Sub改成Function和End Function,并且在function内多加最後
一行为「去零值 = (aa <> "")」也是个办法,但意义不大.
以下是一种可能:
「去零值」没有参数,只处理B1格子; 此函数计算结果传回一个答案为原有的
Range("B3").Value
怎麽做呢? Sub和End Sub都改成Function和End Function,
并将原来的最後一行「Range("B3").Value = aa + " 元整"」改成
去零值 = aa
这样去零值函数会处理B1格子的资料,传回一个答案.
这个答案可以塞在B3,也可以塞在任何位置.
如果在主程式写
Range("B3").Value = 去零值()
就是把去零值结果放在B3格子.
这是其中一种可能作法.
--
当初boss创立公司,公司什麽也没有,百业待兴.Boss说,要有责任制,就有责任制.Boss觉得
责任制不错,能把红黑分得清楚.有打卡,有加班,这是第一天.
上班记,1:1-5
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.160.210.234