2016-06-21 8 views
2

標準誤差(標準偏差/サンプル数)の計算には、次のコードを使用します。しかし、連続していないセルで使用すると、#VALUEを返します!標準エラーの代わりに。私は配列として数式を入力しようとしました。これは、スプレッドシート内の数式の使用は、{=とStdErr(A1、A3、A5のようになり2007年から2012年までの転送後にVBAの計算式が機能しない

Option Explicit 

Function StdErr(numbers As Range) As Double 
Dim StdDev As Double 
Dim Size As Integer 

StdDev = WorksheetFunction.StDev_S(numbers) 
Size = WorksheetFunction.Count(numbers) 

StdErr = StdDev/Sqr(Size) 
End Function 

以前に働いたが(2012年に2007)エクセルの新しいバージョンを使用して新しいコンピュータに移動した後に動作を停止しました)}

+0

ファンクションにブレークポイントを置き、関数の各行の結果をチェックすることによってエラーになった行を確認しましたか?もしそうでなければ、そうする。これは、同じことを処理していない場所を教えてくれるので、新しいExcelバージョンへのチャンスを調べてそれに応じて調整することができます。 –

答えて

1

= StdErr(A1:A5)のような1つの連続した範囲を使用すると機能します。カンマを追加すると、そこにない別の変数を渡すことが期待されます。不明な数の変数を使用できるようにするには、少し難しくなり、Variantを使用する必要があります。以下を参照してください:

+0

奇妙なことに、これによって連続した範囲が機能しなくなりました。これは、範囲を含まない任意の選択に対して機能します。 (A1:A3、B2、B3)または(A1:A3)はどちらも動作しませんが、(A1、A2、A3)は動作します –

関連する問題