Excelmacros根据列值将行复制到新工作表

我的查询如下:

我的电信提供商每个月都会给我一个所有用户的excel列表,格式如下:

GSM number, account num, caller location, called location, units, cost 123456, abc123456, loc1, loc2, 23, 11.231 123456, abc123456, loc8, loc4, 5, 3 123456, abc123456, loc1, loc4, 102, 71.1 789012, def789012, loc4, loc5, 11, 1.43 789012, def789012, loc4, loc5, 1, 0.23 345678, ghi345678, loc6, loc7, 7, 2.23 

等等..

我想通过列A(gsm号码),并将该号码的所有行复制到名称为该号码的工作表,例如行1-3将被复制到名为123456的工作表。

我已经设法通过本网站上的其他一些查询 ,并提出了一些有效的,但没有。 我面临的问题是,特定调用者的行数不固定(每个调用一行),调用者的数量也不固定(零调用意味着没有行)。 我想要一个OnCellValueChangetypes的解决scheme – 因为我可以理解和编辑macros – 但还没写。

谢谢你的时间!

编辑:另外,作为一个侧面说明,我也可以在每个电子表格上总计“成本”列吗?

编辑编辑:感谢所有您的解决scheme。 不过,我对VBA的不适感阻碍了我。 所以,我只是把SQL表格放在SQL数据库中,直接在SQL / ASP中进行格式化和查询。 因此,现在用户只需input他们的电话号码(和密码),并通过dynamic生成的小计和分类查看他们的通话logging。 谢谢大家的帮助。

正如@ joseph4tw所说,你可以用类似于下面的数据透视表(Excel 2010)来做到这一点…

  • 要显示所有项目标签,请select: 字段设置 – >布局和打印 – >重复项目标签

  • 要创build工作表选项卡,请select“ 数据透视表选项” – >“显示报表筛选器页面” (如下所示)

在这里输入图像说明

在这里输入图像说明

更新创build了工作表选项卡后,可以使用组编辑按需要进行格式化…

  • 按shift键并单击最后一个选项卡select所有选项卡,
  • select整个工作表并粘贴特殊值以删除所有数据透视表
  • 删除前两行并自动调整列的大小,如图所示

在这里输入图像说明