如何在一个范围内的每个单元格上运行一个公式
我正在寻找将通过特定范围(A1 to C5)
的Excel VBA,如果B
列为零,将C
列数据复制到D
不要有太多的经验与Excel的VBA,我已经尝试了代码(这是在公式的帮助下创build的),但没有运气。
Sub Macro1() ' ' Macro1 Macro Dim FLrange As Range Set FLrange = Range("A1:C5") For Each FLrange In ActiveWindow.RangeSelection If FLrange.Value = 0 Then D$ = C$ Next FLrange End Sub
有人可以纠正,如果是错误的
我同意@tigeravatar关于公式选项,但如果你真的想让VBA从这开始:
Sub Macro1() Dim FLrange As Range Set FLrange = Range("B2:B5") For Each cell In FLrange If cell.Value = 0 Then cell.Offset(0, 2) = cell.Offset(0, 1) Next cell End Sub
这段代码将完成你所要求的:
Sub myMacro() Dim myRange As Range Set myRange = Range("B2:B5") For Each cell In myRange If Range(cell.Address).value = 0 Then Range(cell.Offset(0, 2).Address).value = Range(cell.Offset(0, 1).Address).value End If Next End Sub
然而,只要使用一个方程就可以轻松实现。 我假设你正在寻找更macros大的VBA解决scheme,你只是为了简单起见而提供了一个最终目标的样本。 如果不是,那么为什么不使用单元格中的if / than函数呢?