希望循环遍历一个表,并将第一列和第二列以及第八列和第九列的值返回到另一个表



标题说,我要创建的大部分是一个库存管理系统来处理我所在地区的库存,但我一直在我的代码中得到运行时错误,我不是超级精通VBA,但我有一个基础知识。我正在工作的代码如下,任何帮助将是了不起的。

编辑:具体的运行时错误是1004:在已经复制并粘贴了一个方法后,在第15行选择范围类的方法失败。

Sub add2Order()
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim C As range, Rng As range, D As range, Rng1 As range
Set Rng = range("K6", range("K6").End(xlDown))
For Each C In Rng

If InStr(1, C, "X") > 0 Then
'first select material number and name
range(C.Offset(0, -9), C.Offset(0, -8)).Select
Application.CutCopyMode = False
Selection.Copy
'paste in reorder sheet
Sheets("Re-Order List").Select
Selection.End(xlDown).Select
range("A65536").Select
Selection.End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = True
End If
Next

Set Rng1 = range("K6", range("K6").End(xlDown))

For Each D In Rng1

If InStr(1, D, "X") > 0 Then
'Second select amount and cost
range(D.Offset(0, -2), D.Offset(0, -1)).Select
Application.CutCopyMode = False
Selection.Copy
'paste in reorder sheet
Sheets("Re-Order List").Select
Selection.End(xlDown).Select
range("C65536").Select
Selection.End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = True
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

复制库存表重新排序表格粘贴到

如果你删除了"您的宏应该像这样:

Sub add2Order()
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim C As Range, Rng As Range, D As Range, Rng1 As Range
Set Rng = Range("K6", Range("K6").End(xlDown))
For Each C In Rng
If InStr(1, C, "X") > 0 Then
'first select material number and name
Application.CutCopyMode = False
Range(C.Offset(0, -9), C.Offset(0, -8)).Copy
'paste in reorder sheet
Sheets("Re-Order List").Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = True
End If
Next
Set Rng1 = Range("K6", Range("K6").End(xlDown))
For Each D In Rng1
If InStr(1, D, "X") > 0 Then
'Second select amount and cost
Application.CutCopyMode = False
Range(D.Offset(0, -2), D.Offset(0, -1)).Copy
'paste in reorder sheet
Sheets("Re-Order List").Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Application.CutCopyMode = True
End If
Next
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

如果您在工作表(1)上运行宏并且您执行"select"或";active"表格(2)在你的代码中,excel有一个问题,因为这两个表格因此被指示为活动。

最新更新