【发布时间】:2013-11-30 08:47:26
【问题描述】:
我希望通过输入框定义矩阵的大小,但是在运行宏时会出现不匹配错误。宏的目标是将两个矩阵相乘,它是用于赋值的,它必须以这种方式编写,但因此它不会通过前几行。
这是代码,请注意开头的错误。
Sub SumaMatrices()
Dim ai, aj, bi, bj, ci, cj As Integer
j = 1
i = 1
ai = InputBox("Enter number of rows in matrix A.")
aj = InputBox("Enter number of columns in matrix A.")
Dim A(ai, aj) As Single
Do
Do
A(i, j) = InputBox("Enter number in ", i, ", ", j, ".")
j = j + 1
Loop Until j < aj
i = i + 1
Loop Until i < ai
j = 1
i = 1
bi = InputBox("Enter number of rows in matrix A.")
bj = InputBox("Enter number of columns in matrix A.")
Dim B() As Double
Do
Do
B(i, j) = InputBox("Enter number in ", i, ", ", j, ".")
j = j + 1
Loop Until j < bj
i = i + 1
Loop Until i < bi
i = 1
j = 1
If aj = bi Then
ci = ai
cj = bj
Dim C() As Double
k = 1
D = 0
Do
Do
Do
Z = A(i, k) * B(k, j)
D = D + Z
Loop Until k > aj
C(i, j) = D
i = i + 1
Loop Until i > ci
j = j + 1
Loop Until j > cj
If Not aj = bi Then
Messagebox = ("Multiplication is not possible.")
End If
End If
End Sub
【问题讨论】:
-
您的代码中存在一些问题。您没有写在哪一行出现错误。如果它在
InputBox行中,则以这种方式制作:A(i, j) = InputBox("Enter number in " & i & ", " & j & ".")