【发布时间】:2016-11-25 14:13:32
【问题描述】:
请有人帮我更正我的代码以消除当我在下面的代码中只有一个单元格符合选择标准时出现的溢出错误?单元格 A4 及以下包含产品描述,单元格 B4 及以下包含数量。目的是将描述从 A4 复制到 L 列的次数与 B4 中的数量相对应,并重复此过程的次数与 A 列中的产品描述一样多。当有多个描述要被复制,但如果 A5 向下为空,则会导致溢出错误。下面代码中调用的三个宏 - 我相信 - 都是无害的,只与在实际代码开始运行之前取消保护此工作表有关,然后格式化范围并在完成后重新保护工作表。 我对 Excel 公式相当不错,但我的编码很弱,所以我希望答案是我的代码中的一个简单缺陷。提前谢谢了。
Private Sub Create_NumberList()
Application.ScreenUpdating = False
Sheets("Selections").Select
Call UnprotectSelections
Dim lRow As Long
Dim x, MyCount As Integer
lRow = Range("A4:B4").End(xlDown).Row
For Each cell In Range("A4:A" & lRow)
cell.Copy
MyCount = cell.Offset(0, 8)
Do
x = x + 1
Range("L" & x).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
MyCount = MyCount - 1
Loop Until MyCount = 0
Next cell
Application.CutCopyMode = False
Call ProtectSelections
Call ReformatSelections
End Sub
【问题讨论】: