関数副プログラム、サブルーチン
きょうは、関数副プログラム、サブルーチンの書き換えの例です。VBAでは変数の型や、配列の次元数を合わせる必要があるため、古いFORTRANに慣れていると、使い勝手が悪く感じます。関数副プログラム PROGRAM PROA REAL A REAL B(3,5) REAL C(2,4) A=FUN(B,C) WRITE(6,*) A STOP END FUNCTION FUN(B,C) REAL B(3,5) REAL C(2,4) B(2,3)=7.3 FUN=B(2,3) RETURN END→(VBA)Sub ProA() Dim a As Double Dim b(1 To 3,1 To 5) As Double Dim c(1 To 2,1 To 4) As Double a = fun(b, c) Cells(1, 1) = aEnd SubFunction fun(b() As Double, c() As Double) b(2, 3) = 7.3 fun = b(2, 3)End Functionサブルーチン PROGRAM PROB REAL A REAL B(3,5) REAL C(2,4) CALL SABU(A,B,C) WRITE(6,*) A STOP END SUBROUTINE SABU(A,B, 1 C) REAL A REAL B(3,5) REAL C(2,4) B(2,3)=5.1 C(2,1)=B(2,3) A=C(2,1) RETURN END→(VBA)Sub SubB() Dim a As Double Dim b(1 To 3,1 To 5) As Double Dim c(1 To 2,1 To 4) As Double sabu a,b,c Cells(1, 1) = aEnd SubSub sabu(a As Double, b() As Double, _ c() As Double) b(2, 3) = 5.1 c(2, 1) = b(2, 3) a = b(2, 1)End Sub