使用自动填充和清除匹配相邻列 - 宏中的错误提示

时间:2014-09-05 03:48:22

标签: excel vba clear autofill

我写了一个宏来计算两列中的行,A和B. 如果A包含的行数多于B(实际上" B:AK"),那么我将B:AK自动填充到A行。 但如果以某种方式自动填充故障或某人与纸张混淆,如果b> a,我清除B:AK到A列的最后一行。 [码]     Sub Autof1ll()

Dim lSKUrow As Long
Dim lVOLrow As Long
Dim ix As Integer
Dim iy As Integer
Dim rngFormula As Range

With Workbooks("Raw Data Production").Worksheets("Raw Data")
   lSKUrow = .Range("A" & Rows.Count).End(xlUp).Row
   lVOLrow = .Range("B" & Rows.Count).End(xlUp).Row
   Set rngFormula = .Range("B" & ix & ":AK" & ix)

    ix = lSKUrow
    iy = lVOLrow

If x > y Then
    Workbooks("Raw Data Production").Worksheets("Raw Data").rngFormula.AutoFill Destination:=ActiveWorkbook.ActiveSheet.Range("B" & ix & ":AK" & ix)

Else
    If y > x Then
        ActiveWorkbook.ActiveSheet.Range("B" & ix + 1 & ":AK" & ix + 1).End(xlDown).Clear
    End If
End If
End With
End Sub

现在我不断收到错误提示,我不知道为什么。 他们突出显示了这部分代码"设置rngFormula = .Range(" B"& ix&":AK"& ix)" 错误提示符表示"运行时错误1004,应用程序或对象定义的错误...

有没有更好的方法来编写这部分代码?

1 个答案:

答案 0 :(得分:0)

在宏点击ix行之前,您尚未定义Set rngFormula。此外,我没有在任何地方看到xy定义,您在if语句中使用它们。