macros/ VBA:数据集有不同的大小,我怎样才能确保macros只运行在其中的数据单元格?

我在1200行的工作表中创build了一个macros。 这个数字每周都会改变。 本周,我有970行。 当我运行内置了一些IF函数的macros时,它为〜230行的差异提供了“FALSE”(当我录制macros时,我在列上做了“填充”)。

这不是重复的,因为我找不到任何文章告诉我在VBA中放置代码的位置。

我怎样才能确保它只适用于数据填充单元格?

我检查了这些资源:

在VBA上填写一行

在VBA中查找上次使用的单元格时出错

我认为lastUsedRow可能是我最好的select,但是我不知道把它放在VBA中,还是我最好的select。

以下是自动填充的片段:

 Range("J2").Select ActiveCell.FormulaR1C1 = _ "=IF(RC[2]=""Marketing CG2"",""Call Group 2"",IF(RC[2]=""Marketing CG3"",""Call Group 3"",IF(RC[2]=""Marketing CG1"",""Call Group 1"",IF(RC[2]=""Marketing"",""EDIT SKILL""))))" Range("I2").Select ActiveCell.FormulaR1C1 = _ "=IF(ISNUMBER(SEARCH(""Nurture"",RC[-1])),""New Producer Nurture""," & _ "IF(ISNUMBER(SEARCH(""WB FU"",RC[-1])),""Event Follow Up""," & _ "IF(ISNUMBER(SEARCH(""WS FU"",RC[-1])),""Event Follow Up""," & _ "IF(ISNUMBER(SEARCH(""WS REM"",RC[-1])),""Event Promotion""," & _ "IF(ISNUMBER(SEARCH(""Marketing OB"",RC[-1])),""General Marketing""," & _ "IF(ISNUMBER(SEARCH(""Marketing Direct to Agent"",RC[-1])),""Marketing""," & _ "IF(ISNUMBER(SEARCH(""Info Email Response"",RC[-1])),""Lead Outreach""," & _ "IF(ISNUMBER(SEARCH(""Marketing IB"",RC[-1])),""General Marketing""," & _ "IF(ISNUMBER(SEARCH(""ZProgramsMatch"",RC[-1])),""Lead Outreach""," & _ "IF(ISNUMBER(SEARCH(""Registration Support"",RC[-1])),""General Marketing""," & _ "IF(ISNUMBER(SEARCH(""Complete Market Lead"",RC[-1])),""Lead Outreach""," & _ "IF(ISNUMBER(SEARCH(""Canada"",RC[-1])),""General Marketing""," & _ "IF(ISNUMBER(SEARCH(""Web Contact Form Outreach"",RC[-1])),""Lead Outreach""," & _ "IF(ISNUMBER(SEARCH(""General Product Inquiry"",RC[-1])),""General Marketing""))))))))))))))" Range("I2").Select Selection.AutoFill Destination:=Range("I2:I1070") Range("I2:I1070").Select Range("J2").Select Selection.AutoFill Destination:=Range("J2:J1070") Range("J2:J1070").Select Columns("I:I").EntireColumn.AutoFit Columns("J:J").EntireColumn.AutoFit Columns("J:J").EntireColumn.AutoFit 

如果公式结束后在代码开始处使用这个dim lrow as integer

 lrow = Range("I" & Rows.Count).End(xlUp).Row Range("I2").Select Selection.AutoFill Destination:=Range("I2:I" & lrow) lrow = Range("J" & Rows.Count).End(xlUp).Row Range("J2").Select Selection.AutoFill Destination:=Range("J2:J" & lrow)