我有3个工作表。以下是对我要做的事情的解释。 EM11 EM12 EM01
以下步骤适用于Sheet EM11,但我想重复它们对于Sheet EM12和Sheet EM01
将列G粘贴到新工作表的单元格B2中。
名为EM11-Count的工作表现在的日期范围为B2:B65636。
现在工作表看起来像这样
Col A Col B Col C Col D Col E
04/1/2009 04/2/2009 04/3/2009
DPR1 04/1/2009
DRS6 04/2/2009
ERJ9 04/3/2009
看A2:B2。现在查看C1:H1,找到与B2中的日期相匹配的日期。假设C1具有匹配日期。转到C2并输入数字1.
Col A Col B Col C Col D Col E
04/1/2009 04/2/2009 04/3/2009
DPR1 04/1/2009 1
DRS6 04/2/2009
ERJ9 04/3/2009
下一步看A3:B3。现在查看C1:H1,找到与B3中的日期相匹配的日期。假设D1具有匹配日期。转到D3并输入数字1.
Col A Col B Col C Col D Col E
04/1/2009 04/2/2009 04/3/2009
DPR1 04/1/2009 1
DRS6 04/2/2009 1
ERJ9 04/3/2009
下一步看A4:B4。现在查看C1:H1,找到与B4中的日期相匹配的日期。假设E1具有匹配日期。转到E3并输入数字1.
Col A Col B Col C Col D Col E
04/1/2009 04/2/2009 04/3/2009
DPR1 04/1/2009 1
DRS6 04/2/2009 1
ERJ9 04/3/2009 1
现在重复此模式,直到A:B中的每一行都被覆盖。沿A列中的每一行走下去:B将发生随机重复。例如,A1:B1中的内容将通过A2:B7相同,或者A14:B14中的内容将通过A15:B20相同。当发生这些重复时,我想删除重复的行,但是将原始行的计数/计数增加数字“1”。例如,在宏完成扫描A:B之后,工作表可能看起来像这样
Col A Col B Col C Col D Col E
04/1/2009 04/2/2009 04/3/2009
DPR1 04/1/2009 12
DRS6 04/2/2009 23
ERJ9 04/3/2009 57
这是我目前的代码。我相信你可以看到它需要做很多工作。你能救我吗?
Sub NWorksheetArrange()
Application.Goto Reference:="R2C10:R65000C10"
Selection.Copy
Sheets.Add
ActiveSheet.Paste
Sheets("Sheet3").Select
Sheets("Sheet3").Name = "EM11-COUNT"
Sheets("EM11").Select
Application.Goto Reference:="R2C7:R65000C7"
Application.CutCopyMode = False
Selection.Copy
Sheets("EM11-COUNT").Select
Range("B1").Select
ActiveSheet.Paste
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Range("B2").Select
End Sub
答案 0 :(得分:2)
这听起来很像“数据透视表”...... Excel会自动执行这些操作。
像这样:http://screencast.com/t/gpLsU50q38
要制作构建数据透视表的宏,请执行“宏记录”...然后构建数据透视表...然后将代码包装在记录的数据透视表语句周围。