如何修复类型不匹配运行时错误'13'



我继续运行我的代码,但它不断返回,我必须调试运行时错误。我不知道代码出了什么问题,也不知道如何修复。

Sub Circles()
Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double
Dim X3 As Double
Dim Y3 As Double
X1 = Range("C3").Value
Y1 = Range("D3").Value
X2 = Range("C4").Value
Y2 = Range("D4").Value
X3 = Range("C5").Value
Y3 = Range("D5").Value
Dim point1() As Double
Dim point2() As Double
Dim point3() As Double
point1 = Array(X1, Y1)
point2 = Array(X2, Y2)
point3 = Array(X3, Y3)
Slo1 = Slope(point1, point2)
Slo2 = Slope(point2, point3)
Dim Mid1() As Double
Mid1 = Midpoint(point1, point2)
Dim Mid2() As Double
Mid2 = Midpoint(point2, point3)
Dim line1() As Double
line1 = Array(Mid1(0), Mid1(1), Slo1)
Dim line2() As Double
line2 = Array(Mid2(0), Mid2(1), Slo2)
Dim Final() As Double
Final = Center(line1, line2)
Dim FinalX As Double
Dim FinalY As Double
FinalX = Final(0)
FinalY = Final(1)
Range("G3").Value = Application.Transpose(FinalX)
Range("G4").Value = Application.Transpose(FinalY)
End Sub

用"point1 = Array(X1, Y1)"就是有错误的那行。我希望它只是运行,我不知道如何修复它。

用" point1 = Array(X1, Y1)"就是有错误的那行。我希望它只是运行,我不知道如何修复它。

这就是问题所在:

Dim point1() As Double
Dim point2() As Double
Dim point3() As Double

问题在于您声明的point变量没有大小。point1(?)修复它的简单方法是注释

声明。
'Dim point1() As Double
'Dim point2() As Double
'Dim point3() As Double

或者您可以使用reDIM的想法:https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/redim-statement

相关内容

最新更新