作者innerpeace (小寶)
看板Visual_Basic
標題[VBA ] 請益Excel VBA Function取得函數引數欄位
時間Thu Aug 17 16:48:51 2017
各位高手 大家好:
我的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
如果起頭的欄位變數 改用選取儲存格的方式,會帶入儲存格內的值,就不是我要的
請問如何讓函數的變數 可以用選取的方式得到該儲存格的欄位?以方便帶入計算
感激不盡!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.149.103
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1502959733.A.41C.html
1F:→ noworneverev: 用個activecell還是selection就好了吧 08/17 20:29
2F:→ innerpeace: 有喔 我原本有用sub副程式寫出你說的方式 08/17 22:48
3F:→ innerpeace: 這裡想請教的是 技術上能否給function一個欄位(用選取 08/17 22:51
4F:→ innerpeace: 的)然後計算對應位置的資料 因為資料量大 且有些位置 08/17 22:54
5F:→ innerpeace: 置不固定 所以才想寫成函數方便使用 或有更好的方法? 08/17 22:57
6F:推 hulapig: 你的範例是求最小值,應該不需要用到vba 08/17 23:41
7F:推 hulapig: 你可以合併前兩項,用startRange as Range 08/17 23:44
8F:→ hulapig: startRange.column 和.row取你要的數值 08/17 23:45
9F:→ innerpeace: 我改好了!原來這麼簡單,謝謝!!! 08/18 02:32
10F:推 hulapig: 其實你的datanumber也不需要,因為輸入已經是你所選取的 08/18 21:57
11F:→ hulapig: range 08/18 21:58