作者taro0203 (蛹儿)
看板Visual_Basic
标题[VBA ] 恳请各位大手为我解惑
时间Tue Jun 14 23:57:33 2011
大家好
我是第一次接触VBA 因为修课缘故必须学写excel 2007版的程式码
但是因为我实在太外行了!! 考试近在眼前 现在求助无门啊啊QQ
(自己做练习时 遇到许多问题 寄了mail向老师请教 那封信却就这样石沉大海...)
恳请各位不吝惜花一点小时间为我解惑~~相信大手们能轻松应付
由於时间有点急迫所以我简短地说了,礼数不够周到还请见谅!!
-----------------------------------
我们课堂上教了用EXCEL做变异数分析
自订两种函数以及使用function程序撰写共变异数矩阵
分别要计算 加权指数报酬率的变异数
和 某企业股价报酬率的变异数 (两者均有十笔样本资料)
并计算共变异数
以下是两种撰写共变异数矩阵自订函数的内容(出自 张大成[财务软体的应用])
第1种
Public Function varf(z)
'user-defined function for computing variance
nr = Apllication.Count(z)
Sum = 0
For i = 1 To nr
Sum = Sum + z(i)
Next
mean = Sum / nr
Sz = 0
For i = 1 To nr
Sz = Sz + (z(i) - mean) ^ 2
Next
varf = Sz / (nr - 1)
End Function
----------------------------------
第2种
Function cov_mf2(sample)
'user-defined function for computing covariance matrix2
Dim i, nr, nc As Integer
Dim XX() As Single
Dim YY() As Single
Dim covn() As Single
nr = sample.Rows.Count
nc = sample.Columns.Count
ReDim XX(nr) As Single
ReDim YY(nr) As Single
ReDim covn(nc, nc) As Single
For i = 1 To nr
XX(i) = sample(i, 1)
YY(i) = sample(i, 2)
Next
covn(1, 1) = varf(XX)
covn(2, 2) = varf(YY)
covn(2, 1) = Application.Covar(XX, YY)
cov_mf2 = covn
End Function
-----------------------------------------
function的部分是:
Function cov_mf(sample)
Dim i, nr, nc As Integer
Dim XX() As Single
Dim YY() As Single
Dim covn() As Single
nr = sample.Rows.Count
nc = sample.Columns.Count
ReDim XX(nr) As Single
ReDim YY(nr) As Single
ReDim covn(nc, nc) As Single
For i = 1 To nr
XX(i) = sample(i, 1)
YY(i) = sample(i, 2)
Next
covn(1, 1) = Application.Var(XX)
covn(2, 2) = Application.Var(YY)
covn(2, 1) = Application.Covar(XX, YY)
cov_mf = covn
End Function
----------------------------
我的问题:
1.如何执行上面那两种已经撰写好的自订函数?
我在准备输出矩阵的储存格里输入"=cov_mf"之後,
下一个步骤该怎麽做?
2.开头的public function 跟function有什麽不同?
3.撰写function程序时 名称後面那个括弧里面的字代表什麽?
4.上述两种自订函数 彼此之间有什麽关连吗?
5.第一种自订函数 我几乎看不懂
包括回圈的用法.以及为何会出现一个新变数Sz
可以用白话.简单的说明每一行代表的涵义吗?
谢谢各位 感激不尽(跪)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.175.130.94