我写了一个宏来计算两列中的行,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,应用程序或对象定义的错误...
有没有更好的方法来编写这部分代码?
答案 0 :(得分:0)
在宏点击ix
行之前,您尚未定义Set rngFormula
。此外,我没有在任何地方看到x
或y
定义,您在if语句中使用它们。