1

我有 3 个工作表。以下是对我正在尝试做的事情的解释。EM11 EM12 EM01

以下步骤适用于工作表 EM11,但我想对工作表 EM12 和工作表 EM01 重复这些步骤

  • 选择工作表 EM11
  • 复制 J2:J65636 并复制 G2:G65636
  • 创建一个名为 EM11-Count 的新工作表
  • 将 J 列粘贴到名为 EM11-Count 的新工作表的单元格 A2 中
  • 将 G 列粘贴到新工作表的单元格 B2 中。

  • 名为 EM11-Count 的工作表现在的日期范围为 B2:B65636。

  • 复制并粘贴您进入单元格 C1 的第一个日期
  • 复制并粘贴您进入单元格 D1 的第二个日期
  • 复制并粘贴您进入单元格 E1 的第三个日期
  • 复制并粘贴您进入单元格 F1 的第四个日期
  • 复制并粘贴您进入单元格 G1 的第五个日期
  • 复制并粘贴您进入单元格 H1 的第六个日期(只有六个或七个不同的日期)

现在工作表看起来像这样

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
4

1 回答 1

2

这听起来很像“数据透视表”……而 Excel 会自动执行这些操作。

像这样:http ://screencast.com/t/gpLsU50q38

要制作构建数据透视表的宏,请执行“宏记录”...然后构建数据透视表...然后将您的代码包装在记录的数据透视表语句周围。

于 2009-04-14T03:52:58.400 回答