これは簡単な質問だと思いますが、vb.net を初めて使用するので、これを理解するのに苦労しています。基本的に VBA では、Sub を使用して配列を設定できます。配列がモジュールで public と宣言されている限り、これはどのモジュールでも確認できます。
Public reg12bound(1 To 5) As Double
Sub region12boundary()
'
' Initialize coefficients for boundary equation
'
reg12bound(1) = 348.05185628969
reg12bound(2) = -1.1671859879975
reg12bound(3) = 1.0192970039326E-03
reg12bound(4) = 572.54459862746
reg12bound(5) = 13.91883977887
'
End Sub
次に、これは以下のコードを使用して別のモジュールで見ることができます
Private Function boundary23P(Temp)
Call region12boundary
boundary23P = (reg12bound(1) + reg12bound(2) * Temp + reg12bound(3) * (Temp ^ 2)) * 1000000
End Function
基本的に、VB.netでこの機能を繰り返したいのですが、次のことを試すと
Public reg12bound(5) を Double として
Sub region12boundary() ' ' Initialize coefficients for boundary equation ' ReDim reg12bound(5) reg12bound(1) = 348.05185628969 reg12bound(2) = -1.1671859879975 reg12bound(3) = 0.0010192970039326 reg12bound(4) = 572.54459862746 reg12bound(5) = 13.91883977887 ' End Sub
Public Function bound23P(ByVal Temp As Double) As Double
call region12boundary() boundary23P = (reg12bound(1) + reg12bound(2) * Temp + reg12bound(3) * (Temp ^ 2)) * 1000000 End Function
配列には、値の代わりに 0 が入力されます。関数内に入力すると、機能は正常に機能するようです。ただし、ほとんどの関数は、各関数にコピーする必要がある 34 個の変数の同じ配列を参照するため、これは避けたいと思います。
また、reg12bound(0) の値が入力されていないことも認識しています。これは、自己完結型のバージョンでは問題ではないように思われるため、外部からも問題ないと想定しています。
関数への呼び出しを追加するために編集されました