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

时间:2012-08-25 06:09:18

标签: excel vba excel-vba

我的查询如下:

每个月,我的电信提供商都会按以下格式向我提供所有订阅者的优秀列表:

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的工作表。

我已经设法在这个网站上浏览了一些other queries,并提出了一些有效的方法,但并非如此。我遇到的问题是特定调用者的行数不固定(每次调用一行),调用者的数量也不固定(零调用意味着没有行)。我正在尝试使用OnCellValueChange类型解决方案 - 因为我能理解&编辑宏 - 但还没有写过。

谢谢你的时间!

编辑:另外,作为旁注,我还可以总计"成本"每个电子表格上的列?

编辑编辑:感谢您的所有解决方案。但是,我对VBA的不舒服阻碍了我。因此,我只是将excel表格原样放在SQL数据库中,并直接在线进行SQL / ASP中的所有格式化和查询。因此,现在用户只需输入他们的手机号码(和密码),并通过动态生成的小计和分类查看他们的通话记录。非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

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

  • 要显示所有商品标签,请选择:字段设置 - >布局&打印 - >重复项目标签

  • 要创建工作表标签,只需选择数据透视表选项 - >显示报告过滤页面(如下所示)

enter image description here

enter image description here

更新创建工作表标签后,您可以根据需要使用组编辑进行格式化...

  • 通过按住Shift键并单击最后一个选项卡
  • 来选择所有选项卡
  • 选择整个工作表并粘贴特殊值以删除所有数据透视表
  • 删除前两行并自动调整列,如图所示

enter image description here