2016-12-12 7 views
0

誰かがこのコードの誤りを説明できますか?オーバーフローエラーが発生します。最初に、これは、n1、n2の大きな入力値のために私は(注文10000)、数百にそれらの値を減らした後に与えていると思った私はこのエラーを取得しています。VBA Excelオーバーフローエラー

Private Sub CommandButton1_Click()  
Dim Ds1, Ds2, Ds3, Ds4, Ds5, n1, n2, n3, n4, n5, C, m, a0, w, D, N, i, Pi As Double 
Pi = 3.14159265359 
Ds1 = TextBox8.Text 
n1 = TextBox10.Text 
Ds2 = TextBox13.Text 
n2 = TextBox14.Text 
Ds3 = TextBox17.Text 
n3 = TextBox18.Text 
Ds4 = TextBox11.Text 
n4 = TextBox12.Text 
Ds5 = TextBox15.Text 
n5 = TextBox16.Text 
C = TextBox20.Text 
m = TextBox19.Text 
a0 = TextBox22.Text 
w = TextBox21.Text` 
D = Sqr(((n1 * (Ds1^2)) + (n2 * (Ds2^2)) + (n3 * (Ds3^2)) + (n4 * (Ds4^2)) + (n5 * (Ds5^2)))/(n1 + n2 + n3 + n4 + n5)) 
N = n1 + n2 + n3 + n4 + n5 

ReDim af1(N) As Double 
ReDim Y(N) As Double 

af1(0) = a0 

For i = 1 To N  
Y(i) = 1.12 - (0.23 * (af1(i - 1)/w)) + (10.55 * ((af1(i - 1)/w)^2)) - (21.72 * ((af1(i - 1)/w)^3)) + (30.39 * ((af1(i - 1)/w)^4)) 
af1(i) = af1(i - 1) + (C * (D^m) * (Pi^(m/2)) * ((af1(i - 1))^(m/2)) * (Y(i)^m))  
Next i  

TextBox11.Text = af1(N) 
End Sub 
+0

:それは

Dim D1 as Double, D2 as Double 

など

はまた、あなたのテキストボックスの値をキャストする必要があります。 – ojf

+0

正確にエラーが発生している場所を教えてください。それは多くの助けになるでしょう。 – PedroMVM

+0

このリンクを確認してください。私は2つのスクリーンショットを添付しました。 https://postimg.org/image/wid3b5n51/ https://postimg.org/image/5w0mm6ixx/この行に正確なエラーが発生しています** ReDim af1(N)As Double ** –

答えて

0

すべての変数をDoubleとして宣言してください。現時点では唯一のPiは倍です。もしあなたが言うならば、

Dim D1, D2 as Double 

そして、D2だけがダブルです。 D1はバリアントです。それはあなたが実際のエラーとラインを投稿する場合は、上のエラーを得るのを助けるでしょう

Ds1 = CDbl(TextBox8.Text) 
+0

Dim C、m、Ds1、n1、a0、Pi、af1、i、w As二重二重 パイ= 3.14159265359 C = TextBox13.Text M = TextBox12.Text Ds1に= TextBox8.Text N1 = TextBox10.Text A0 = TextBox14.Text W = TextBox15.Text ReDimステートメントAF1(N1) ( - 1 I)= 1.12 - ダブル AF1として ReDimステートメントY(N1)は(0)Y N1 へのI = 1の場合A0 を=(0.23 *(AF1(I - 1)/ W))+( 10.55 *((af1(i-1)/ w)^ 2)) - (21.72 *(af1(i-1)/ w)^ 3))+(30.39 *( (i-1)/ w)^ 4)) af1(i)= af1(i-1)+(C *(Ds1^m)*(Pi ^(m/2))* (n - 1))^(Y(i - 1)^ m)) 次はi TextBox11.Text = af1(n1)なぜこのコードではうまくいったのでしょうか? –