|
求助优化代码.rar
(338.39 KB, 下载次数: 15)
要实现的功能是:
1.在“销售订单执行情况”表中,查找符合“入库单”表中 C 列和 D 列两个条件的行;
2.在“销售订单执行情况”表中 T 列判断是否为空,为空时添加“入库单”表中 I 列的值;
3.在“销售订单执行情况”表中 W 列判断是否为空,为空时添加“入库单”表中 O 列的值;
4.将“入库单”表中 P 列的值以累加的形式添加在“销售订单执行情况”表中 X 列中,并在 X 列中添加批注.
我用笨方法写了一个代码,基本能实现其功能,但就速度太慢,求助各位老师帮我优化一下代码,提高运行速度,谢谢!!
Sub 成品入库()
Dim r As Long, j As Integer
For r = 6 To ActiveSheet.Range("B65536").End(xlUp).Row
If Sheet1.Cells(ActiveSheet.Cells(r, 2).Value, 20).Value = "" Then
Sheet1.Cells(ActiveSheet.Cells(r, 2).Value, 20).Value = ActiveSheet.Cells(r, 9).Value '颜色
End If
If Sheet1.Cells(ActiveSheet.Cells(r, 2).Value, 23).Value = "" Then
Sheet1.Cells(ActiveSheet.Cells(r, 2).Value, 23).Value = ActiveSheet.Cells(r, 15).Value '入库日期
End If
With Sheet1.Cells(ActiveSheet.Cells(r, 2).Value, 24)
If .Value = "" Then
'.Formula = strd & "=" & ActiveSheet.Cells(r, 16).Formula '提取公式
.Value = "=" & ActiveSheet.Cells(r, 16).Formula
Else
strd = .Formula
.Formula = strd & "+" & ActiveSheet.Cells(r, 16).Formula '提取公式
End If
If .Comment Is Nothing Then '判断是否有批注
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:=ActiveSheet.Cells(r, 15).Value & "入库" & ActiveSheet.Cells(r, 16).Value & "台;"
Else
strc = .Comment.Text
.Comment.Text Text:=strc & Chr(10) & ActiveSheet.Cells(r, 15).Value & "入库" & ActiveSheet.Cells(r, 16).Value & "台;"
End If
End With
Next
MsgBox "成品入库成功。"
End Sub
|
|