VBA:插入如果公式和复制公式向下整行

时间:2017-02-03 02:22:20

标签: excel vba excel-vba

我正在尝试在新列中插入公式(新点击)。我的数据包含4列 - 网站,展示次数,点击次数和新点击次数。我要插入的公式是:

=IF(Site = "Facebook.com", 0,IF(Site = "Google Search", 0, Clicks))

如果网站名称为Facebook.com或Google搜索,我想将点击次数更改为0,公式应该适用于Excel工作表中的所有行。

下面是我的代码,但是当我运行它时,我一直收到应用程序/对象定义的错误。

Dim lastr1 As Long
Dim strFormulas1 As Variant
Dim b As Variant

lastr1 = Worksheets("Formula").Range("A:A").Find("*", SearchDirection:=xlPrevious).Row

For b = 7 To lastr1
    wb.Sheets("Formula").Range("D" & b).Formula = "=IF(A " & b & ") " = " ""Facebook.com"",""0"",IF(A" & b & ") " = " ""Google Search"",""0""))"
Next b

1 个答案:

答案 0 :(得分:1)

通过将公式设置为等于范围,您实际上可以跳过很多引号和b变量:

Sub FormulaRng()

Dim lastr1 As Long

lastr1 = Worksheets("Formula").Range("A:A").Find("*", SearchDirection:=xlPrevious).Row

Worksheets("Formula").Range("D7:D" & lastr1).Formula = "=IF(A7=""Facebook.com"",0,IF(A7=""Google Search"",0,C7))"

End Sub

字段将自动更新,就像使用自动填充功能一样。