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

看板Visual_Basic作者 (小寶)時間7年前 (2017/08/17 16:48), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串1/1
各位高手 大家好: 我的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://www.ptt.cc/bbs/Visual_Basic/M.1502959733.A.41C.html

08/17 20:29, , 1F
用個activecell還是selection就好了吧
08/17 20:29, 1F

08/17 22:48, , 2F
有喔 我原本有用sub副程式寫出你說的方式
08/17 22:48, 2F

08/17 22:51, , 3F
這裡想請教的是 技術上能否給function一個欄位(用選取
08/17 22:51, 3F

08/17 22:54, , 4F
的)然後計算對應位置的資料 因為資料量大 且有些位置
08/17 22:54, 4F

08/17 22:57, , 5F
置不固定 所以才想寫成函數方便使用 或有更好的方法?
08/17 22:57, 5F

08/17 23:41, , 6F
你的範例是求最小值,應該不需要用到vba
08/17 23:41, 6F

08/17 23:44, , 7F
你可以合併前兩項,用startRange as Range
08/17 23:44, 7F

08/17 23:45, , 8F
startRange.column 和.row取你要的數值
08/17 23:45, 8F

08/18 02:32, , 9F
我改好了!原來這麼簡單,謝謝!!!
08/18 02:32, 9F

08/18 21:57, , 10F
其實你的datanumber也不需要,因為輸入已經是你所選取的
08/18 21:57, 10F

08/18 21:58, , 11F
range
08/18 21:58, 11F
文章代碼(AID): #1PbLXrGS (Visual_Basic)
文章代碼(AID): #1PbLXrGS (Visual_Basic)