Gizport
1 回答
0
Share (facebook)
90
view
全般

エクセルのVBAの分散共分散行列でエラーが出ます。 コードは下記の通...

エクセルのVBAの分散共分散行列でエラーが出ます。
コードは下記の通りですが、分散共分散行列:の部分で
「実行時エラー '91': オブジェクト変数または With ブロック変数が設定されていません。」
とエラーが出ます Sub TEST7()

Dim A(10, 10): Dim S(100): Dim Y(100, 100): Dim B(3, 5) As Signature

GoSub 読み込み
GoSub 平均値
GoSub 平均偏差データ
GoSub 分散共分散行列
GoSub 書き出し
End

N = 5

P = 3
'===================================================
' S U B R O U T I N E
'===================================================

'==========================================読み込み

読み込み:

Dim data As Range

Do
Set data = Application.InputBox(prompt:="データ行列のセル範囲を入力:", Title:="データ行列", Type:=8)

N = data.Rows.Count
P = data.Columns.Count
If N > 0 And P > 0 Then
Exit Do
End If
MsgBox "範囲を指定してください"
Loop

'==================読み込みデータの割り振り=======================

For I = 1 To N

For J = 1 To P


A(I, J) = Cells(1 + I, 1 + J)

Cells(1 + I, 6 + J) = A(I, J)


Next J

Next I

Return

'==========平均値
平均値:

For I = 1 To N

For J = 1 To P

S(J) = S(J) + A(I, J)

Cells(7, 6 + J) = S(J)

Cells(8, 6 + J) = S(J) / N

Cells(7, 6) = "合計"

Cells(8, 6) = "平均"


Next J

Next I

Return

'============平均偏差データ=============
平均偏差データ:

'Cells(8,7) = "平均偏差データの二乗"


For I = 1 To N

For J = 1 To P

Y(I, J) = A(I, J) - S(J) / N

Cells(10 + I, 6 + J) = Y(I, J)

Cells(11, 6) = "平均偏差"

'B(I,J) = B(I,J) + C(I,J)^2
'Cells(8 + I,6 + J) = B(I,J)

Next J

Next I

Return

'====================分散共分散行列==================

分散共分散行列:


For I = 1 To N

For K = 1 To P

For J = 1 To P

B(I, K) = B(I, K) + Y(J, K) * Y(J, I)

Next J

B(I, K) = B(I, K) / 5

Cells(17 + I, 6 + K) = B(I, K)

Next K

Next I

Return
後略


コードは下記の通りですが、分散共分散行列:の部分の
B(I, K) = B(I, K) + Y(J, K)
でエラーが出ます。
「実行時エラー '91': オブジェクト変数または With ブロック変数が設定されていません。」
と表示されます。どこが悪いでしょうか、お願いします。
Yahoo!知恵袋 6234日前
コメントする
お気に入り
1
質問者が選んだベストソリューション
途中全然見てませんが、エラーになるという部分と、一番最初を見てみますと配列 B の型がどういうわけかSignatureで宣言されてますが?
それじゃあ計算できないのでエラーになると思います。例えばDoubleとかにしてみては。
Yahoo!知恵袋 6234日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
24
Views
質問者が納得こんばんは。マクロを利用すれば、瞬時に意図する動作を実現できます。サンプルマクロを組んでみたいと思いますので、少し時間をください。
4275日前view24
全般
34
Views
質問者が納得MSIのグラボはグリスがひどい事になっていることがあります 一度塗りなおしてみては エアフローに問題があるかもしれませんが 追記に対して 90度越えはそんなにおかしくないと思いますよ 補足に対して まだ保障があるならショップに言う、持っていくなりした方がいいですね 問題なければそのまま帰ってくるでしょう 2chのBF3を快適~スレでは560TiでLow.Midで普通動いているそうですし そもそもGTX560が推薦されていてTiでカクつくのは... もしだめならばSLIのためにもう一台IY...
4660日前view34
全般
24
Views
質問者が納得とりあえずつくってみた。 上下で人数を表す散布図にマーカーの大きさを人数 わるかあない。 おいらのExcel理解度じゃ集計できないのでAccess君の助けをかりた。 でわかったこと Accessのグラフは暗黙の数値変換してくれるが。。。
5173日前view24
全般
26
Views
質問者が納得質問の式よく確認していまんが A1 22:00 B1 3:00 =IF(B1<A1,B1+1-A1,B1-A1) 表示形式 時刻に で 5:00
5366日前view26
全般
30
Views
質問者が納得今回の場合、新たに買ってきたMBで >最小設定にしても起動しません。ビープ音は鳴らず、ファンも回転していません。P5K-EにはオンボードにスタンバイLEDと言うLEDが装備されており電力が供給されていれば緑に光るとあります。このLEDが光っているので電力供給は問題ないと思います。 を質問者様の文章を見る限り単純にPowerSWのコネクタ差し間違えてるか、通電のまま作業して即死 してしまったとか。。。しか思い浮かびませんが、、、 というのもMBが生きてればビデオカードその他に異常がある場合はボイスなりビ...
5868日前view30