Excel公式更改另一个单元格的值?
Posted
技术标签:
【中文标题】Excel公式更改另一个单元格的值?【英文标题】:Excel formula to change the value of another cell? 【发布时间】:2013-09-17 16:29:17 【问题描述】:是否可以强制 [UDF] 用户定义函数在我们指定的单元格上返回结果? 换句话说:如果我在单元格 A1 中执行 UDF,它将在 A2 单元格中返回结果,但是如果我想更改 A2 怎么办由另一个细胞?
【问题讨论】:
一个UDF只能向包含函数*的单元格返回一个值,因此A1中的函数不能向A2返回值。 [*没有一些相当复杂的解决方法] 我检查了我的代码,我发现我在下面的单元格中使函数返回结果 那么你应该展示你的代码。我想看看你是怎么做到的…… 你可以看看我以前的帖子:对不起,我能提供给你的就这些了 如果您无法访问 UDF 代码,那么您会被它当前的功能所困扰,但没有什么能阻止您(例如)将“=A2”放入 A5 【参考方案1】:不直接.......UDF 只会将值返回到它所在的单元格。您可以在工作表中包含计算事件宏。计算宏可以响应 UDF 返回到 A1 的值并相应地更改 A2。
另一种方法是让 UDF 返回一个数组并将 UDF 放置在 A1 和 A2
编辑:
这是一个非常简单的例子,让 UDF 填充多个单元格。
在 B1 中,输入:7
安装以下 UDF:
Public Function circlee(r As Double)
Dim ary(1 To 3, 1 To 1) As Double
ary(1, 1) = 2 * r
ary(2, 1) = WorksheetFunction.Pi() * 2 * r
ary(3, 1) = WorksheetFunction.Pi() * r * r
circlee = ary
End Function
然后高亮单元格 A1 到 A3 并键入数组公式:
=circlee(B1)
因为它是一个数组公式,所以必须用CNTRL-SHFT-ENTER而不是ENTER键输入。
您应该在单元格 A1 到 A3 中看到半径在 B1 中的圆的直径、周长和面积
【讨论】:
如果我在 A1 单元格上编写/执行公式并生成一个从 A2 开始的结果(表格)(我的 UDF 被编码为这样),我想通过删除写入函数的第一行(所有这些都来自 c# 代码)来移动表顶部——>这种情况导致我出现异常(第一列表头的值变为:无法获取Range类的Find属性) 非常感谢,这不是我要求的;也许我没有很好地描述我在这里需要的是我的要求:我有一个 UDF(来自我无法访问他的代码的插件)这个函数;当我将它写在一个单元格中时,它会在下面的单元格中生成我的结果(来自数据库)(我认为它被编码为这样);所以每次我得到结果时,我都必须删除第一行才能在我的工作表上只获得一个表格,所以我问我是否可以在单元格 A1 sheetone 中编写一个函数并在单元格 A5sheetThree 上获得结果以上是关于Excel公式更改另一个单元格的值?的主要内容,如果未能解决你的问题,请参考以下文章
Excel - 如果单元格包含列表中的文本,则返回另一个单元格的值