首页 文章

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

提问于
浏览
0

我正在尝试在新列中插入公式(新点击) . 我的数据包含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 回答

  • 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
    

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

相关问题