Excel2007 VBA による両端支持はりのたわみ計算
(1)コマンドボタン [計 算] オブジェクト名: cmdKeisan [クリア] オブジェクト名: cmdClear (1) Public変数の定義(標準モジュールModule1) Public X(50), Y(50) As Single 'はりの位置(X)とたわみ(Y) Public n, i As Integer 'データの数など Public L, a, b, BB, HH As Single 'はりの長さ(L)、荷重位置(a、b)、断面幅(BB)、'断面高さ(HH) Public E, II As Single '縦弾性係数(E)、断面二次モーメント(I) Public W As Single '集中荷重の大きさ (2) プログラミング 先ず、シート名を ”両端支持はり” に変更する。 Private Sub cmdKeisan_Click() ' 'シートをアクティーブにする ' Worksheets("両端支持はり").Activate ' 'はり寸法データ等の取得 ' L = Val(Cells(3, 4).Value) BB = Val(Cells(4, 4).Value) HH = Val(Cells(5, 4).Value) E = Val(Cells(6, 4).Value) W = Val(Cells(7, 4).Value) a = Val(Cells(8, 4).Value) b = L - a ' '断面二次モーメントの計算 ' II = BB * HH ^ 3 / 12 'はりのたわみ計算 ' n = 26 For i = 1 To n X(i) = (i - 1) * 20 If X(i) >= 0 And X(i) < a Then Y(i) = W * b * X(i) / (6 * L * E * II) * (L ^ 2 - b ^ 2 - X(i) ^ 2) Else Y(i) = W * b * X(i) / (6 * L * E * II) * (L ^ 2 - b ^ 2 - X(i) ^ 2) Y(i) = Y(i) + W / (6 * E * II) * (X(i) - a) ^ 3 End If Next i ' 'たわみ計算結果の表示 ' For i = 1 To n Cells(i + 11, 4).Value = Format(Y(i), "00.000") Next i End Sub Private Sub cmdClear_Click() For i = 1 To n Cells(i + 11, 4).Value = "" Next i End Sub |
||
|
|
||||||
Copyright(C) WaShimo All Rights Reserved. |