ここに誰かが私を助けてくれることを願っています: 私が持っている情報を使って1つのワークシートにある長いデータセットのサンプル共分散を計算しようとしています各サンプルを選択するための第2のワークシート。 「C1の%のノーム」という名前の データセットが含まれている最初のワークシートには、次のようになります。vba変数を使用してセルに数式を挿入する方法
| A | B | C | D | E | F |
1 |throw|temp |depth| s | c | sp |
2 60 0,3 0,456 0,123 ... ...
.. ... ... ... ... ... ...
189 61 0,42 ... ... ... ...
.. ... ... ... ... ... ...
375 62 0,35 ... ... ... ...
..
2番目のワークシートには、使用する各「スロー」やサンプルの限界が含まれ、「Mapeoランス」と命名し、次のようになります。何をすべきかだから、基本的に
| A | B | C |
1 |throw|lim i|lim s|
2 60 2 188
3 61 189 374
4 62 375 ...
、(最初のワークシートの)行2と188の間でデータを使用して、例えば、「TEMP」と「深さ」の標本共分散を計算することですサンプルとして189〜374行目のデータをサンプルとして使用します。
私は、「テスト」という文字列があることを知っている「1004」 アプリケーション定義またはオブジェクト定義エラー:
私はこのコードを書いた:
Sub covariances()
Dim i As Integer
Dim limi As Integer
Dim lims As Integer
Dim test As String
i = 2
Sheets("Mapeo Lances").Select
While i < Cells(Rows.count, 1).End(xlUp).Row + 1
limi = Range("B" & i).Value
lims = Range("C" & i).Value
test = "=covariance.s('C1% Norm'!B" & limi & ":B" & lims & ";'C1% Norm'!C" & limi & ":C" & lims & ")"
Range("D" & i).Formula = test
i = i + 1
Wend
End Sub
をしかし、私は次のエラーを取得: ランタイムエラーを正しく連結された。文字列の先頭にある "="記号を削除すると、セルはエラーのない所望のテキストで埋められます。
...
dim range_i as Range
dim range_s as Range
...
while...
...
set range_i = Worksheet("C1% Norm").Range("B" & limi & ":B" & lims)
set range_s = Worksheet("C1% Norm").Range("C" & limi & ":C" & lims)
Range("D" & i).value = Application.WorksheetFunction.Covariance_S(range_i,range_s)
wend
しかし、私は実際に教育目的のために、各セルの数式を必要とする...私は間違って何をやっている:
は、私はそれがこれを使って仕事を得ることができます知っていますか?
おかげでA.S.H、両方のソリューションは魅力のように働きました! – Patux