【发布时间】:2015-01-23 11:20:35
【问题描述】:
大家好,我有一张表格,我想用 vba 格式化,因为它有很多值,而且一个一个格式化需要很长时间。
例子
客户 ID ---------- 员工 ---------- 工作时间
0001 ------------------乔什 -------------5
0001 ------------------卡尔 -------------5
0001 ------------------乔 --------------5
0005 ------------------肯 --------------5
0005 ------------------杰夫 --------------5
0008 ------------------乔 --------------5
0008 ------------------乔什 -------------5
0009 ------------------卡尔 -------------5
0011 ------------------乔 --------------5
0011 ------------------卡尔 --------------5
我想在同一个 ClientID 的最后一个下方应用一个边框,以将它们与 ClientID 的其余部分分开,以便在查看信息时更容易阅读,因此输出应该是这样的:
客户 ID ---------- 员工 ---------- 工作时间
0001 ------------------乔什 -------------5
0001 ------------------卡尔 -------------5
0001 ------------------乔 --------------5
0005 ------------------肯 --------------5
0005 ------------------杰夫 --------------5
0008 ------------------乔 --------------5
0008 ------------------乔什 -------------5
0009 ------------------卡尔 -------------5
0011 ------------------乔 --------------5
0011 ------------------卡尔 --------------5
我猜我需要某种循环来向下 ClientID 列并检查每个 ClientID..一旦出现新的 ClientID 然后在该行的顶部或前一行的底部添加一个边框。我知道我应该有一些代码,如果有人能指出我正确的方向或给我一些线索,我可以继续写一些东西。
【问题讨论】:
-
您需要使用 VBA 还是可以使用条件格式?
-
我需要使用 VBA/宏,因为行数太多,无法一一完成或为几列编写公式。基本上我想创建一个有人运行的模块并应用该格式。
-
数据是否已经按客户端 ID 排序,还是需要先排序?
-
数据已经从低到高排序了。
-
标题在第 1 行,从第 1 行下方的 A 开始是数据。与您在屏幕截图中发布的相同,但有更多列包含更多信息。这很奇怪,因为当我将表格复制到单独的工作表中并运行代码时,它可以工作,但不能在原始工作表中工作。我在上面的原始问题中添加了我的工作表的屏幕截图