我已经运行到这个墙。 尽管在SO帖子像这一个 ,这是非常相似的或这一个上Kioskea,我只是无法连接在我的脑海点基于这样是使这个工作需要一个公式结果过滤单元和复制之间。 下面是数据表 - 简化 - 我与合作:
A B C D E F G H
R1 Name Num Status #Orig #InPro #Act #Rem #RemStatus
R2 ABC 032 Complete 22 0 11 11 Purged
R3 LMN 035 In Prog 25 21 4 21 Pending Scan
R4 XYZ 039 Not Act 16 16 0 16 Not Active
这描绘的纸质文件和他们的处置盒的状态:
- 列d是计划的盒数要被扫描
- E栏是箱子出来的扫描次数
- F列是箱数实际扫描
列G和H可以有三种含义的基础上,状态:
- 如果状态不活跃,列G和H匹配它,并没有什么需要做的事情
- 如果状态是进行中,假定在列G是未决扫描框的数目的数目(简单地减去原始实际)
- 如果状态完成后,假设在G栏中的是,并不需要进行扫描并清除了箱数数
我的代码(如下图所示)是应该做的是通过在一个范围内的每一行迭代(A2:H61)。 如果状态不活跃的行可以忽略不计,并将其移动到下一行。 如果状态是正在进行或完成,宏,在任何排它的“阅读”,需要复制单元格A,B和H,它(列)的另一工作时间“G”号粘贴 - 同一工作簿中 - 开始的下一个可用排。 深呼吸
我知道。 它伤害了我的大脑了。 这里是我到目前为止的代码:
Sub TEST_Copy_Process()
Dim srcrange As Range
Dim wb As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Set wb = ActiveWorkbook
Set ws1 = Worksheets("SIS Agregate")
Set ws2 = Worksheets("Center Detail")
Set srcrange = Range(wb.ws2.Cells("A2:H61"))
For Each Row In srcrange.Rows
If Row = "Not Active" And Row.Offset(0, 3) = SectorType Then
Continue
ElseIf Row = "In Progress" And Row.Offset(0, 3) = SectorType Then
ElseIf Row = "Complete" And Row.Offset(0, 3) = SectorType Then
End If
Set LastCell = wb.ws1.Cells(wb.ws1.Rows.Count, "A").End(xlUp)
LastCellRowNumber = LastCell.Row + 1
Next Row
End Sub
有一次,我去,实际上是做繁重的工作代码,我没有知识,理清哪些是最好的。 如上所述,像帖子这已经helpd让我在这里。 和我慢慢开始做什么,我就找到感觉的Excel先生 。 这个人似乎是在做的if / then工作,但我不明白它是如何复制或粘贴。
我明白任何及所有的帮助。 即使你可以点我的资源,这将有助于解释这一点(除了在亚马逊的书:]),这将是一个很大的帮助!