我正在尝试创建项目日志。项目将水平显示。
“ Open_Orders”工作表中
A列为空
B列是项目信息标题(客户名称,采购订单编号,开始日期等)。在列出下一个项目之前,每个项目共有7行 C列是C列的答案(也是下一个项目开始前的7行) D-L列是制造过程(设计,批准,零件采购等)。每列是一个合并的单元格,等效于7行高。正在进行时将用“ p”填充,并通过规则将其填充为黄色,或者将使用规则将其填充为“ c”并通过规则将绿色填充。
**当您单击刷新按钮时,每个项目的单元格都用“ c”填充时,L是最重要的“完成”列,我希望将整行(基本上是7行)移动到另一个名为“ 2019_Completed_Orders”并将其从“ Open_Orders”中删除
当L用“ c”标记时,我当前的代码将移动该行,但仅从7行中获取第一行。在IE中,它使用“客户名称”,但其余部分保留。
此外,“ 2019_Completed_Orders”中的行不是一一对应,而是彼此保存。
Sub Completed()
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Open_Orders").UsedRange.Rows.Count
J = Worksheets("2019_Completed_Orders").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("2019_Completed_Orders").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Open_Orders").Range("L1:L" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "c" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("2019_Completed_Orders").Range("A" & J + 1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "c" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub