異なる列のRSSの計算を自動化しようとしています。以下の例では、G列のY値のRSSを計算します。Y値のみが列を変更します。つまり、X値は常に同じ列になります。VBA:次の列で同じプロセスを繰り返す
列の最初の行に名前がなくなるまで、次の列のY値(列Hなど)に対してこの計算を自動的に繰り返すことはできますか?
私はすでにこのプロセスをループしようとしましたが、VBAは常にエラーメッセージを表示します。
Private Sub Regr(strWksData As String, WsTools As Worksheet, strWksFF3 As String, strWksResult As String)
Dim NoOfRow As Long
Dim rX1 As Range
Dim rX2 As Range
Dim rX3 As Range
Dim rY1 As Range
Dim rY2 As Range
Dim rX3 As Range
'Set X ranges
Set rX1 = Worksheets(strWksFF3).Range("C2:E21")
Set rX2 = Worksheets(strWksFF3).Range("C22:E41")
Set rX3 = Worksheets(strWksFF3).Range("C42:E64")
'Set Y ranges
Set rY1 = Worksheets(strWksData).Range("G2:G21")
Set rY2 = Worksheets(strWksData).Range("G22:G41")
Set rY3 = Worksheets(strWksData).Range("G42:G64")
'Loop through columns
'Provide statistic
Do Until Worksheets(strWksData).Range("G").Value = ""
vStat1 = Application.WorksheetFunction.LinEst(rY1, rX1, True, True)
Worksheets(strWksResult).Range("G2").Value = vStat1(5, 2)
NoOfRow = Worksheets(strWksData).Range("G2:G21").Rows.Count
WsTools.Range("B2").Value = NoOfRow
vStat2 = Application.WorksheetFunction.LinEst(rY2, rX2, True, True)
Worksheets(strWksResult).Range("G3").Value = vStat2(5, 2)
NoOfRow = Worksheets(strWksData).Range("G22:G41").Rows.Count
WsTools.Range("B3").Value = NoOfRow
vStat3 = Application.WorksheetFunction.LinEst(rY3, rX3, True, True)
Worksheets(strWksResult).Range("G4").Value = vStat3(5, 2)
NoOfRow = Worksheets(strWksData).Range("G42:G64").Rows.Count
WsTools.Range("B4").Value = NoOfRow
Call GetNextColumn("G")
counter1 = counter1 + 1
Loop
MsgBox ("RSS Done")
End Sub
どのような形式のヘルプも深く感謝します。事前にどうもありがとうございました!
範囲引数を追加rngColvals'が、代わりにハードコーディングされたもの、RY1の本を使用し、 '、と言います。または、次のループのために統計情報コードを下に向かって囲みます。それに応じて0から1までの値と、それに応じてオフセット列G –
どうすればこのコードを書くことができますか?私はVBAをかなり新しくしています... – AxRo
for i = 0 to 1:vStat3 = Application.WorksheetFunction.LinEst(rY3.offset(0、i)、rX3.offset(0、i)、True、True):next私はこれのようなものです、私は月にテストすることができません。整数部分 'offset'と 'for..next loop' google/researchを見ればわかるでしょう。 –