首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >扩展代码重用

扩展代码重用
EN

Stack Overflow用户
提问于 2015-12-24 11:23:47
回答 3查看 52关注 0票数 0

有人知道如何将工作表包装成UDF函数吗?

本质上,我希望创建一个工作表或工作簿,它执行某些计算,然后在其他工作表或工作簿中重用这些代码。理想情况下,UDF将设置某些输入单元格的值,并从某个输出单元返回一个值。

这个问题的答案有问题,但效果不佳。

Using a UDF in Excel to update the worksheet

理想情况下,我希望在Excel中这样做,但我完全接受其他电子表格软件、第三方excel工具或替代平台的建议。

EN

Stack Overflow用户

发布于 2016-01-12 07:56:30

我已经找到了我自己问题的答案。看起来UDF不能更改从excel实例中调用的单元格值。我想要的行为可以通过在第二个实例中创建一个新的Excel实例和openinf (当前工作簿的副本)来实现。然后,第一个实例可以调用修改第二个实例的UDF。因此,电子表格中的计算可以成功地封装在UDF中。

代码语言:javascript
运行
复制
Option Explicit
Public xl As Excel.Application
Public wb As Workbook
Public ws As Worksheet


Function calc(x As Double) As Double

If xl Is Nothing Then


    Set xl = CreateObject("Excel.Application")

    Set wb = xl.Workbooks.Open(ThisWorkbook.FullName)
    xl.Visible = False

    Set ws = wb.Worksheets("CalcluationModule")


End If

ws.Range("i").Value = x
wb.Application.Calculate

calc = ws.Range("PV").Value



End Function
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34452049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档