Excel2007 VBA による両端支持はりのたわみ計算
 
VBAとは、Visual Basic For Applicationの略であり、Windows上でアプリケーションの開発を可能にするプログラミング言語VB(Visual Basic)を使って、ExcelやAccess等のソフトをカスタマイズして、さら操作性の効率向上を図るために用意されたプログラミング言語のことです。ここでは、Excel2007を使った両端支持はりのたわみ計算プログラム例を示します。
 
【課題1】(両端支持はりのたわみ計算)
 両端支持はりに一個の集中荷重が加わる場合のたわみを計算して、その値を表示するとともに、たわみの曲線を折れ線グラフで表示する。
 

 


 
(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.