※ 引述《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