24小时热门版块排行榜    

查看: 2089  |  回复: 9

zjs12309

金虫 (小有名气)

[求助] excel编写VBA程序 已有1人参与

想用一个自定义函数,函数公式如下:
excel编写VBA程序

举例,excel计算公式如下:
excel编写VBA程序-1

备注:n不一定等于4,可以是≥3的整数。

求助编写一个VBA程序,作为自定义函数,计算时直接选取A、B两列数值即可得出结果,不用输入复杂的公式。

备注:此为溶出曲线相似因子f2计算公式,如有更方便的程序亦可提供。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhzh2009

木虫 (小有名气)

aa

直接数组公式就可解决

[ 发自手机版 http://muchong.com/3g ]
2楼2016-06-07 00:57:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhzh2009

木虫 (小有名气)

aa

【答案】应助回帖

感谢参与,应助指数 +1
Function  f2(R As Range, T As Range)
    With WorksheetFunction
          f2=50*.log(...)   '''手机打字,省略要搬你的Excel公式,不过里面的函数前要加“.”号,表所属关系
    End With
End Function

[ 发自手机版 http://muchong.com/3g ]
3楼2016-06-07 01:12:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
3楼: Originally posted by yhzh2009 at 2016-06-07 01:12:03
Function  f2(R As Range, T As Range)
    With WorksheetFunction
          f2=50*.log(...)   '''手机打字,省略要搬你的Excel公式,不过里面的函数前要加“.”号,表所属关系
    End With
End Function
...

THX,如果我想选序号1,3,4的数值,不把序号2的数值算进去的话,该如何修改VBA?
4楼2016-06-07 08:32:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhzh2009

木虫 (小有名气)

aa

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
zjs12309: 金币+20, ★★★★★最佳答案 2016-06-07 16:20:56
引用回帖:
4楼: Originally posted by zjs12309 at 2016-06-07 08:32:16
THX,如果我想选序号1,3,4的数值,不把序号2的数值算进去的话,该如何修改VBA?...

Function f(R As Range, T As Range)  'f2为单元格,用冲突,改成f
'溶出曲线相似因子f2计算公式,R,T必须连续且包含的单元格数目相等
  Application.Volatile '用以实时刷新
  Dim i As Integer, N As Integer, Srt As Double
  '剔除有删除线的点,并求R、T差平方和
  For i = 1 To R.Count
    If Not (R(i).Font.Strikethrough Or T(i).Font.Strikethrough) Then
      Srt = Srt + (R(i) - T(i)) ^ 2
      N = N + 1
    End If
  Next
  f = 50 * Log(100 / Sqr(1 + Srt / N)) / Log(10#)
End Function
‘=============================
粘贴上述代码到模块中,运用时用删除线(ctrl+5)剔除掉不用的数据即可
5楼2016-06-07 15:17:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhzh2009

木虫 (小有名气)

aa

这类问题可以到Excelhome论坛上问

[ 发自手机版 http://muchong.com/3g ]
6楼2016-06-07 15:22:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
5楼: Originally posted by yhzh2009 at 2016-06-07 15:17:03
Function f(R As Range, T As Range)  'f2为单元格,用冲突,改成f
'溶出曲线相似因子f2计算公式,R,T必须连续且包含的单元格数目相等
  Application.Volatile '用以实时刷新
  Dim i As Integer, N As Integer ...

好的,非常感谢
7楼2016-06-07 16:20:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

我编写了个vba函数,上传在百度盘里。解压后直接调用 函数 ffs(),就一个参数,就是你所选的区域。就可以计算结果了。 链接:http://pan.baidu.com/s/1bpqhKMb
8楼2016-06-08 00:32:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
8楼: Originally posted by deephill at 2016-06-08 00:32:41
我编写了个vba函数,上传在百度盘里。解压后直接调用 函数 ffs(),就一个参数,就是你所选的区域。就可以计算结果了。 链接:http://pan.baidu.com/s/1bpqhKMb

thx,不过好像写出来的VBA算出来的结果不正确哦
9楼2016-06-08 09:42:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

引用回帖:
9楼: Originally posted by zjs12309 at 2016-06-08 09:42:15
thx,不过好像写出来的VBA算出来的结果不正确哦...

你帖子中那个图片中的公式和 excel 公式好像不一样。你自己用vb 打开看下模块中的这个函数的程序。稍微修改下就没有问题了。
10楼2016-06-08 16:19:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zjs12309 的主题更新
信息提示
请填处理意见