|
附件中有两个VBA代码,能实现以下两个要求,就是运行速度比较慢,请教各位老师能实现以下两个要求并且运行速度快的代码。
1.BOM正向录入就是首先将符合B8单元格值在BOM表中对应的列的数据清除,然后将"BOM正向录入"表中录入到"BOM表"符合B8单元格值在BOM表中对应的列并B11:B15(行末)在BOM表中对应的行中
2.BOM反向录入就是首先将符合B8单元格值在BOM表中对应的行的数据清除,然后将"BOM反向录入"表中录入到"BOM表"符合B8单元格值在BOM表中对应的行并B11:B16(行末)在BOM表中对应的列中
我现有的代码是:
Sub test30() 'BOM正向录入
Dim b, s, i, j, n, x, y
b = Sheet16.Range("B65536").End(xlUp).Row 'BOM表行末
y = WorksheetFunction.Match(Sheet1.Cells(8, 2), Sheets("BOM表").Range("2:2"), 0) 'BOM表母件数字列号
s = CNtoW(y) 'BOM表母件字母列号
Sheet16.Range(s & "11" & ":" & s & b).ClearContents '清除
For i = 11 To Sheet1.Range("B65536").End(xlUp).Row
x = WorksheetFunction.Match(Sheet1.Cells(i, 2), Sheets("BOM表").Range("B:B"), 0) '行号
Sheet16.Cells(x, y) = Sheet1.Cells(i, 8)
Next
End Sub
Sub test32() 'BOM反向录入
Dim a, b, s, i, j, n, x, y
a = Sheet16.Range("iv2").End(xlToLeft).Column '至最后一格(第二行,横向)
x = WorksheetFunction.Match(Sheet2.Cells(8, 2), Sheets("BOM表").Range("B:B"), 0) '行号
s = CNtoW(a) 'BOM表母件字母列号
Sheet16.Range("X" & x & ":" & s & x).ClearContents '清除
For i = 11 To Sheet2.Range("B65536").End(xlUp).Row
y = WorksheetFunction.Match(Sheet2.Cells(i, 2), Sheets("BOM表").Range("2:2"), 0) 'BOM表母件数字列号
Sheet16.Cells(x, y) = Sheet2.Cells(i, 7)
Next
End Sub
请教BOM表的正向和反向录入的VBA代码.zip
(68.82 KB, 下载次数: 22)
|
|