Office 板


LINE

软体:Excel 版本:2013 各位版大好~ 我想从一个自订函数中呼叫另一个自订的阵列函数 小弟我写了一个阵列自订函数 logit=(Mat,b) 其中 Mat是M*N矩阵 b是N+1列的行向量 logit本身会输出M列的行向量 logit函数在储存格中可以正常使用,如图 http://imgur.com/a/8wfgz Public Function logit(Mat, b) Dim X(), A(), c() MatC = Mat.Columns.Count MatR = Mat.Rows.Count bRow = b.Rows.Count If MatC + 1 <> bRow Then logit = "dismatch" Exit Function End If ReDim X(1 To MatR, 1 To MatC + 1), A(1 To MatR, 1 To 1), c(1 To MatR, 1 To 1) For i = 1 To MatR X(i, 1) = 1 Next For i = 1 To MatR For j = 1 To MatC X(i, j + 1) = Mat(i, j) Next Next A = WorksheetFunction.MMult(X, b) For i = 1 To MatR c(i, 1) = 1 / (1 + Exp(-A(i, 1))) Next logit = c End Function 如今我从另一个自订函数呼叫这个函数logit该如何是好? 以下是我写的: Public Function 呼叫函数测试() Dim Mat(1 To 2, 1 To 2), b(1 To 3, 1 To 1) Dim P As Variant Mat(1, 1) = 1 Mat(1, 2) = 2 Mat(2, 1) = 2 Mat(2, 2) = -2 b(1, 1) = 2 b(2, 1) = 5 b(3, 1) = 3 P = logit(Mat, b) 呼叫函数测试 = P End Function 但实际在excel插入"呼叫函数测试"这函数时,储存格出现#value! 不知道该如何呼叫一个自订的阵列函数? 感谢各位! --
QR Code



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.136.74.246
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1497029626.A.434.html ※ 编辑: o1o3o1o31030 (114.136.74.246), 06/10/2017 01:34:19 ※ 编辑: o1o3o1o31030 (114.136.74.246), 06/10/2017 01:34:46
1F:→ soyoso: 提供function logit的部分应会比较清楚 06/10 01:53
※ 编辑: o1o3o1o31030 (114.136.74.246), 06/10/2017 11:44:15
2F:→ o1o3o1o31030: logit函数如原文,麻烦S大了! 06/10 11:45
3F:→ soyoso: 因function logit的mat和b代入非范围,以rows.count或 06/10 11:56
4F:→ soyoso: columns.count会有错误,可改以ubound 06/10 11:56
5F:→ o1o3o1o31030: 但是直接在储存格使用logit函数是OK的 06/10 12:16
6F:→ soyoso: logit代入是范围,function 呼叫函数测试代入的不是 06/10 12:21
7F:→ o1o3o1o31030: http://imgur.com/a/xJref 06/10 12:29
8F:→ o1o3o1o31030: 换了之後反而logit不能用了!? 有点困惑@@ 06/10 12:29
9F:→ soyoso: 型态不同,range可用rows.count但无法用ubound,反之array 06/10 12:34
10F:→ soyoso: 可用ubound但无法用rows.count 06/10 12:34
11F:→ o1o3o1o31030: 所以我logit带入的型态是range 06/10 12:35
12F:→ o1o3o1o31030: 的意思吗? 06/10 12:36
13F:→ soyoso: 也不是,原po於logit上就无宣告型态,所以会以带入的的资 06/10 12:38
14F:→ soyoso: 料为该型态,也就是带入是range就为range,带入array就为 06/10 12:39
15F:→ soyoso: variant 06/10 12:39
※ 编辑: o1o3o1o31030 (114.136.74.246), 06/10/2017 12:40:09
16F:→ soyoso: 带入range的话,就可用range.rows.count或range.columns. 06/10 12:41
17F:→ soyoso: count来计算列数,而带入array时就以ubound 06/10 12:41
18F:→ o1o3o1o31030: 恩恩,我了解型态range和arr的差别了! 好容易混淆 06/10 12:41
19F:→ o1o3o1o31030: 感谢S大每次精辟解说! 06/10 12:42







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP