【问题标题】:How to summarize date counts如何总结日期计数
【发布时间】:2009-04-14 02:51:30
【问题描述】:

我有 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

【问题讨论】:

  • 如果您可以单击编辑,以便查看问题的原始形式。我给出的示例可能很难理解,因为我发布问题后格式发生了变化。如果您有任何问题,请告诉我。感谢您的宝贵时间。

标签: vba excel pivot-table


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多