1
我已經寫了解決一組的形式的代數方程的VBA代碼傳遞的行或列從片材至VBA函數
A(ⅰ)X(I-1)+ B(ⅰ)X (i)+ C(i)X(i + 1)= R(i)
函數的一部分在下面給出。目前,係數A,B,C和R必須存儲在主工作表的列中以傳遞給函數。有沒有一種方法可以提供係數以行或列的靈活性?
Function TRIDI(ByVal Ac As Range, ByVal Bc As Range, ByVal Cc As Range, _
ByVal Rc As Range) As Variant
Dim BN As Single
Dim i As Integer
Dim II As Integer
Dim A() As Single, B() As Single, C() As Single, R() As Single, X() As Single
N = Ac.Rows.Count
ReDim A(N), B(N), C(N), R(N), X(N)
For i = 1 To N
A(i) = Ac.Parent.Cells(Ac.Row + i - 1, Ac.Column)
B(i) = Bc.Parent.Cells(Bc.Row + i - 1, Bc.Column)
C(i) = Cc.Parent.Cells(Cc.Row + i - 1, Cc.Column)
R(i) = Rc.Parent.Cells(Rc.Row + i - 1, Rc.Column)
Next i
謝謝奧萊 - 我希望有一個更通用的方法,對用戶透明。例如,如果您考慮MAX,AVERAGE等Excel函數,則可以將列中的數據傳遞給行或組合。這些如何獲得正確的價值? – bumedoc
我現在在mac上,現在病情會在明天繼續,但是您可以檢查輸入範圍是多列還是多列,並且基於該條件變量。 –
我已經編輯了我的答案,但代碼完全沒有經過測試,並且從我的頭頂開始。請也請澄清你的問題,你可以讓maby createa成爲你想要的結果的一個更好的例子嗎? –