Excel – 编写将在下一行写入的macros

我提前道歉,如果我的问题太简单了,但我对编码比较陌生。

我试图从一个表中收集信息,并将代码列在不同的行上。

问题是,我试图找出一个函数写入单元格或单元格下面的单元格与函数。

例如,如果我将函数gatherinfo(x,y,z)input到A1中,我希望将输出写入A1,A2和A3(假设它有三个不同的输出)。

我一直在试图寻找一个函数/代码,它代表了这个公式所在的单元格,但是我正在寻找它。 我知道,当我单击单元格,然后运行macros时,Activecell函数工作。 但是我想要一个函数,它只是包含那个函数的单元格(不依赖于活动单元格)。

我希望我有些道理。 提前感谢您的帮助!

在工作表代码对象放置以下代码:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then If Target.Formula Like "=gatherinfo(*,*,*)" Then MsgBox "The formula " & Target.Formula & " was added to the cell " & Target.Address & "." & vbCrLf & vbCrLf & "Do something with it!" End If End If End Sub 

工作表代码对象: 在这里输入图像说明

然后,您可以随时查看工作表的内容,并且每当您使用3个参数input函数“gatherinfo”时,VBA就会处理要执行的操作。 要知道“目标”单元格的行和列,可以使用诸如.Row.Column属性。