将excel函数更改为vba代码

将excel函数更改为vba代码,vba,Vba,我编写了两个Excel函数,用于在单元格F12中输入数据时将数据复制到单元格G12 =IF(ISBLANK(F12)," ",(F12)) 如果从单元格G12中删除数据,则将其复制到H12 =IF(ISBLANK(G12),(F12)," ") 这些工作非常完美,但我想知道是否可以在vba中对动态范围执行相同的过程,因为我希望不断添加行为了达到您的要求,您可以从主页>将范围格式化为表。现在,假设您的表是两列,分别命名为“name”和“non-blank name”,您可以在第二列的第二个单

我编写了两个Excel函数,用于在单元格
F12
中输入数据时将数据复制到单元格
G12

=IF(ISBLANK(F12)," ",(F12))
如果从单元格
G12
中删除数据,则将其复制到
H12

=IF(ISBLANK(G12),(F12)," ") 

这些工作非常完美,但我想知道是否可以在vba中对动态范围执行相同的过程,因为我希望不断添加行

为了达到您的要求,您可以从主页>将范围格式化为表。现在,假设您的表是两列,分别命名为“name”和“non-blank name”,您可以在第二列的第二个单元格中输入以下公式:

=IF(ISBLANK([@Name])," ",[@Name])

将行添加到表中时,公式将自动复制到新行。

第一个公式在G12中?如果是这样,第二个公式将始终返回“”,因为F12将永远不会为空。感谢Joe的回复,我应该说G12中的数据有时可能会被删除,以迫使它出现在H12Ok中。那么工作流程是什么呢?是否要在输入所有行后运行一个宏来填充G列,然后在从G中删除一些值后运行另一个宏来填充H列?