使用自动填充和清除匹配相邻列 - 宏中的错误提示
Posted
技术标签:
【中文标题】使用自动填充和清除匹配相邻列 - 宏中的错误提示【英文标题】:Matching up Adjacent columns with Autofill and clear - Error Prompt in Macro 【发布时间】:2014-09-05 03:48:21 【问题描述】:我编写了一个宏,它计算 A 和 B 两列中的行数。 如果 A 包含的行多于 B(实际上是“B:AK”),那么我将 B:AK 自动填充到 A 行。 但是如果自动填充出现故障或有人弄乱了工作表,如果 b>a 我清除 B:AK 直到 A 列的最后一行。 [代码] 子 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
现在我不断收到错误提示,我不知道为什么。 他们突出显示这部分代码“Set rngFormula = .Range("B" & ix & ":AK" & ix)" 错误提示指出“运行时错误 1004,应用程序或对象定义错误...
有没有更好的方法来编写这部分代码?
【问题讨论】:
【参考方案1】:在宏到达Set rngFormula
行之前,您还没有定义ix
。此外,我没有在任何地方看到 x
或 y
定义,而是在 if 语句中使用它们。
【讨论】:
以上是关于使用自动填充和清除匹配相邻列 - 宏中的错误提示的主要内容,如果未能解决你的问题,请参考以下文章