[VBA ] 請益Excel VBA Function取得函數引數欄位

作者: innerpeace (俯首甘為孺子牛)   2017-08-17 16:48:51
各位高手 大家好:
我的Function函數如下:
'函數-橫列資料計算Low
Function RowDataToGet_Low(StartColumn As String, StartRows As
Integer, DataNumber As Integer) As Single
Dim vLow_Output As Single, vStartColumn As Integer, vEndColumn As Integer
vStartColumn = Range(StartColumn & 1).Column
vEndColumn = vStartColumn + DataNumber - 1
vLow_Output = WorksheetFunction.Min(Range(Cells(StartRows,
vStartColumn), Cells(StartRows, vEndColumn)))
RowDataToGet_Low = vLow_Output
End Function
目前起始欄位 我是在函數引數中 用人工輸入的,例如:
StartColumn="E"
StartRows=5
如果起頭的欄位變數 改用選取儲存格的方式,會帶入儲存格內的值,就不是我要的
請問如何讓函數的變數 可以用選取的方式得到該儲存格的欄位?以方便帶入計算
感激不盡!!!
作者: hulapig (呼拉豬)   2017-08-18 21:57:00
其實你的datanumber也不需要,因為輸入已經是你所選取的range
作者: noworneverev (小朋友)   2017-08-17 20:29:00
用個activecell還是selection就好了吧
作者: innerpeace (俯首甘為孺子牛)   2017-08-17 22:48:00
有喔 我原本有用sub副程式寫出你說的方式這裡想請教的是 技術上能否給function一個欄位(用選取的)然後計算對應位置的資料 因為資料量大 且有些位置置不固定 所以才想寫成函數方便使用 或有更好的方法?
作者: hulapig (呼拉豬)   2017-08-17 23:41:00
你的範例是求最小值,應該不需要用到vba你可以合併前兩項,用startRange as RangestartRange.column 和.row取你要的數值
作者: innerpeace (俯首甘為孺子牛)   2017-08-18 02:32:00
我改好了!原來這麼簡單,謝謝!!!

Links booklink

Contact Us: admin [ a t ] ucptt.com