U1應該是一個列向量,有3250個元素,最后一句編譯時有問題,可能是'Cells()'和‘U1(3100:3249)’這里有問題,求指點
Dim U1() As Double
ret = SapModel.Results.JointDispl("2", ObjectElm, NumberResults, Obj, Elm, LoadCase, StepType, StepNum, U1, U2, U3, R1, R2, R3)
Sheet7.Cells(1+150*((i-1)+iT0*(j-1)+iT0*ia0*(k-1)):150+150*((i-1)+iT0*(j-1)+iT0*ia0*(k-1)),i).Value = Application.WorksheetFunction.Transpose(U1(3100:3249))
我是想把每次回圈后陣列U1的第3100到3249個元素賦到Sheet7的第1+150*((i-1)+iT0*(j-1)+iT0*ia0*(k-1))到150+150*((i-1)+iT0*(j-1)+iT0*ia0*(k-1)),第i列里面,請問該怎么表達啊,對vba不太熟,表達的有問題,求指點
uj5u.com熱心網友回復:
分解成更小的步驟有助于除錯。uj5u.com熱心網友回復:
Dim sAddress As String
Dim U1Sub() As Double
'你需要把 U1 的子集復制到單獨一個陣列 U1Sub 中'
sAddress = Sheet7.Cells(1 + 150 * ((i - 1) + iT0 * (j - 1) + iT0 * ia0 * (k - 1)), i).Address
sAddress = sAddress & ":" & Sheet7.Cells(150 + 150 * ((i - 1) + iT0 * (j - 1) + iT0 * ia0 * (k - 1)), i).Address
Sheet7.Range(sAddress).Value = Application.WorksheetFunction.Transpose(U1Sub)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/63952.html
標籤:VBA
