Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 活动单元格作为公式的输入_Vba_Excel_Excel Formula_Excel 2010 - Fatal编程技术网

Vba 活动单元格作为公式的输入

Vba 活动单元格作为公式的输入,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,我想知道我是否可以使用活动单元格,我的意思是在鼠标点击后,在给定时间以正方形边框“高亮显示”的单元格,作为函数中的参数 例如,我创建了一个具有3个权重的加权平均值的表:w1在列标题中给出(请参见下面的文件),w2在行标题中给出,w3将w1和w2补充为1 我想做的是让表外的单元格显示选中表中单元格时得到的平均权重 例如: 截图: 文件可在此处找到: 这里我们看到细胞K12是活跃的, 对于K12 w1=0.2,w2=0.15,因此,上面权重表(第3-4行)中的单元格根据活动单元格中的权重获得适当的值

我想知道我是否可以使用活动单元格,我的意思是在鼠标点击后,在给定时间以正方形边框“高亮显示”的单元格,作为函数中的参数

例如,我创建了一个具有3个权重的加权平均值的表:w1在列标题中给出(请参见下面的文件),w2在行标题中给出,w3将w1和w2补充为1

我想做的是让表外的单元格显示选中表中单元格时得到的平均权重

例如: 截图:

文件可在此处找到:

这里我们看到细胞K12是活跃的, 对于K12 w1=0.2,w2=0.15,因此,上面权重表(第3-4行)中的单元格根据活动单元格中的权重获得适当的值。 (当然,我手动创建这一个是为了进行说明)

有办法吗?如果可能,最好不使用VBA 找不到任何有用的东西

提前谢谢!
A

您需要使用VBA。按照您的示例,将此代码放置在图纸对象中

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Row > 8 And Target.Column > 6 Then
        Range("G4").Value = Cells(8, Target.Column).Value
        Range("H4").Value = Cells(Target.Row, 6).Value
        Range("L4").Value = Cells(Target.Row, Target.Column).Value
    End If
End Sub
单元格
L4
显示选定的单元格值,可用于其他公式

编辑

若要放置代码,请转到VBA窗口并双击包含数据的图纸对象。(图中用箭头标出) 然后粘贴你的代码。 您不需要VBA(尽管您可能更喜欢它)

带有
address
参数的
CELL
函数返回活动单元格的地址。我使用
INDIRECT
将该地址(仅一个字符串)转换为单元格引用。然后我用

=INDEX(Range, 1, Column of Reference)
获取w1值—第一行和活动单元格所在列中的值。这个公式不关心你激活哪个单元格,所以我在里面加了一个
MAX
,如果你超出范围,它会返回一个零


请注意,仅选择单元格不会触发更改。选择单元格后,按F9键计算工作表以获得正确的结果。

谢谢。。。但是如何将结果包含在公式中呢?能否创建一个公式,将活动单元格的值作为输入?根据我的编辑,结果显示在单元格L4中。然后你可以创建一个公式来引用这个单元格L4。当我点击一个单元格时,什么都不会发生。我一定错过了一些简单的东西。抱歉让你感到痛苦:(哈!现在很有魅力。非常感谢。太棒了:)太棒了。美丽的。非常感谢。问:我去了一个空的牢房,写了“code”=牢房(“地址”)“code”。我得到了活动单元格的位置。然后在另一个空单元格中,我写了'code'=indirect(cell(“address”))'code',奇怪的是,它会返回活动单元格中样本文件(用公式对冲的)G9:AA29中任何值范围内的值,即使我不在任何地方定义它!我使用裸骨公式,不限制范围。只有当我点击F9时,它才会评估活动单元格是否超出该范围。奇怪,没有?你还有SelectionChange代码吗?触发该代码将导致重新解析,因为它会写入工作表。如果您删除了代码,就不会看到这种行为。另外,我应该注意到,当你在不同的工作表上时,结果变得非常不可靠。imgur上传会随着时间的推移而丢失。
=INDEX(Range, 1, Column of Reference)