LinEst
関数をVBAで実行しようとしています。私が抱えている問題は、私のX変数が同じ列にあるが、別のワークシートにあることです。VBA:範囲を異なるワークシートの列に設定する
私の質問:異なるシートのこれらの列を1つの範囲に組み合わせることは可能ですか?
以下はコード化しようとしていますが、Union
部分に貼り付けられています。私は私のサンプルも提供しました。
ありがとうございます!
Sub FM()
Dim sResult As Worksheet
Set sResult = Sheets("Result")
Dim sY As Worksheet
Set sY = Sheets("Y")
Dim sX1 As Worksheet
Set sX1 = Sheets("X1")
Dim sX2 As Worksheet
Set sX2 = Sheets("X2")
Dim sX3 As Worksheet
Set sX3 = Sheets("X3")
Dim sX4 As Worksheet
Set sX4 = Sheets("X4")
Dim x() As Variant
ReDim x(1 To 4)
x(1) = sX1.Columns("A")
x(2) = sX2.Columns("A")
x(3) = sX3.Columns("A")
x(4) = sX4.Columns("A")
Dim rY As Range
Set rY = sY.Columns("A")
sResult.Range("B2").Value = Application.WorksheetFunction.LinEst(rY, x, True, True)(1, 4)
End Sub
「連合」は、異なるワークシートの範囲では機能しません。 –
オプションはありますか? – AxRo
@AxRo私が知っている限り、あなたが達成しようとしていることは不可能です。複数のワークシートに存在する範囲から1つの範囲を作成することはできません。 'Range'は' Worksheet'プロパティのメンバであり、それが存在するコンテナを尊重しなければなりません。何を達成しようとしていますか?私はこのようなことの必要性を想像することはできません。 –