【发布时间】:2013-07-20 10:20:40
【问题描述】:
我刚刚开始使用 VBA for Excel。近十年前,我在大学里使用过 VB 和 Java,那时我已经能胜任了,但基本上是从头开始。 (嗯,不喜欢骑自行车。)
我正在尝试了解构建不只是声明为 A1:J34 或其他内容的范围的方法。我的谷歌搜索遇到了挑战,因为在搜索“范围”和表明我所寻求的术语时,我得到了比我需要的更高级的点击量,大多数点击量甚至没有解决我需要的基本摘要信息。
所以,这里是它的基础知识: Mac 上的 Excel 2011。 工作表的数据从 A 到 M,一直到 1309。 这是标题行后跟数据行的重复模式。啊。似乎创建工作表的人更多地考虑从工作表打印而不是数据的组织。我需要清理它和另外 3 个类似的东西才能在数据透视表中使用,而它在这种愚蠢的重复布局中毫无用处。
标题行如下: 姓氏、名字,然后是 10 个日期单元格。 标题下的数据行当然是姓名,然后是 1 或 0 代表出勤率。 每个标题下有 20 到 30 个名称。然后它重复。并且每隔几组日期就会改变一次,从上一组停止的地方开始。
我现在需要做的事情: 我正在尝试通过添加以特定值开头的所有行(在 A 列中)来将一个范围组合成一个范围变量。在我的情况下,该值是字符串“姓氏”,因此我可以让范围变量保存所有以“姓氏”开头的行中的所有单元格。然后,这将捕获所有需要采用日期格式的单元格。 (我这样做是为了确保日期标题实际上都是日期格式 - 因为它们现在不都是日期格式,许多只是“常规”单元格。)
我的问题:
- 当告诉一个范围对象它的范围是什么时,如何向它提供单元格/行/列,这些单元格/行/列不仅仅是由编写代码的人输入的开始和结束单元格定义的块,而是基于行标准?例如:根据 A 中“名字”的存在,创建一个 Range,其中包含从 A 列到 I 列的第 1、34、70、93 和 128 行。
- 最常用的方法是什么?
- 其中哪一个最适合我的需要?为什么?
【问题讨论】:
标签: vba excel excel-2011