对于报表中的偏移量没有进展

这是我的代码。 基本上,如果偏移列中的单元格有一个值,我需要填充到当前单元格中的这个公式,然后偏移一个来查看下一行。 我所得到的是第一个填满的数据,即使数据大概有10行。 单元格F2甚至不是最初select的第一行build议。 不知道我哪里错了!

Sub FillF() Range("F2").Select For i = 1 To 2000 If Not IsEmpty(ActiveCell.Offset(0, -5)) Then ActiveCell.Formula = "=LOOKUP(RC[-2], 'Master Data'!C[-5], 'Master Data'!C[-4])" ActiveCell.Offset(1, 0).Select Else ActiveCell.Offset(1, 0).Select End If Next i End Sub 

摆脱评论中build议的Select

另外请确保从正确的工作表中引用单元格,所以如果您在不同的工作表中运行macros,则不会混淆引用。 您可以通过其索引号select工作表:

Sheet1.Range( “F2”)

或者通过它的名字:

表格(“工作表名称”)范围(“F2”)

你可以像这样重写你的代码:

 Sub FillF()
     Dim MySheet As Worksheet
    设置MySheet =表格(“我的工作表名称”)

    对于我= 2到2000
        如果不是IsEmpty(MySheet.Cells(i,1))那么
             MySheet.Cells(i,6).FormulaR1C1 =“= LOOKUP(RC [-2],'Master Data'!C [-5],'Master Data'!C [-4])”
        万一
    接下来我
结束小组