2017-11-02 7 views
0

特定の状況でマクロを作成する際に問題があります。 私は8ビームと10荷重ケースを持つSTAADモデルを持っています。 Iは1と2VBAマクロを使用してSTAADからビームメンバーを取り出す

ここでのコード行のためしかし

Sub ExtractLC_Click() 

Sheets("COPING BEAM").Range("A:I").ClearContents 

'Variable Declaration 

Dim lMemberNo As Long 
Dim lEnd As Long 
Dim lLoadCase As Long 
Dim dForceArray(6) As Double 
Dim icount As Integer 
Dim ret As Boolean 
Dim path As String 

path = Sheets("Main").Cells(185, 23).Value 

Set staad = GetObject(, "StaadPro.OpenSTAAD") 

staad.OpenSTAADFile path 

'extract beam end forces 

lMemberNo = Sheets("Main").Cells(184, 10).Value 

For x = 2 To 6 
lLoadCase = Sheets("SEISMIC").Range("B" & x).Value 
ret = staad.Output.GetMemberEndForces(lMemberNo, lEnd, lLoadCase, dForceArray) 

For icount = 0 To 5 
Sheets("SEISMIC").Cells(x, 3 + icount).Value = dForceArray(icount) 

Next icount 
Next x 

Set staad = Nothing 

End Sub 

だ全てのビームのためのビームエンド力を取得したいだけ 荷重ケース:のみ

Output.GetMemberEndForces(lMemberNo, lEnd, lLoadCase, dForceArray) 

STARTビームの力が抽出されない終了Excel and STAAD comparison

私は両方が欲しかった。 STAADを開くという特定のコードがありますか? すべてのメンバーの終わりの力をコピーしますか?助けてくれてありがとう!

答えて

0

おはよう!

"lend"にループ文を追加できます。

例:

For lend = 0 to 1 

For x = 2 To 6 
lLoadCase = Sheets("SEISMIC").Range("B" & x).Value 
ret = staad.Output.GetMemberEndForces(lMemberNo, lEnd, lLoadCase, dForceArray) 

For icount = 0 To 5 
Sheets("SEISMIC").Cells(x, 3 + icount).Value = dForceArray(icount) 

Next icount 
Next x 

next lend 

あなたはまだ別のセルに結果を貼り付けコードを少し編集する必要がありますが。

関連する問題