VB:在Excel表格上过滤数据

在python中,使用libs来处理excel文件,我可以做我想要的。 但现在,因为我正在学习VBA,所以我需要提出这个问题。

我正在制作一个大约有12列和50000行的工作表。 这些数据代表发送给公司的请求。 5#列表示它的代码,10#表示完成它的时间。 但是,例如,第5,10和12行可以属于同一请求,并且为了组织目的而被分开。

我需要处理这些数据,以便我可以:

  1. 第6列代表回答请求的人。 所以,我需要把每个请求放在“人员的工作表”上。 另外,在开始向它添加请求之前,为他创build这个工作表。

  2. 对于每个人(工作表)来说,都会让他参与的请求types(第2列)变得有害。 即,在其工作表上创build另一个表格:Type_Of_Request | Number_of_ocurrences

  3. 创build一个最终的报告工作表,显示上面的同一张表,但会计所有请求(没有人filter)

Obs:我知道在stackoverflow上的大多数问题都是为了解决一个具体的问题,但是我在这里要求开始路线。 如果可能的话甚至是解决scheme。

出于解释的目的,我认为解释Python中使用的algorithm将帮助那些了解python和VBA的人帮助我。 所以,对于每个问题:

  1. 创build一个pipe理6#列数据的字典。 这个字典将把这个人的唯一名字作为关键字,并且对于他所回答的每个请求,它将被添加到指向他的名字(字典关键字)的列表中。 类似于:{person1:[request1,request2,request3,…],…}

  2. 另一个pipe理2#列数据的字典(请求types)。 现在,我将有一个字典,其中每个条目将有一个列表显示这种types的请求。 定位完所有请求之后,我在列表中做了一个简单的总和,并填充了一个表(key,sum(dict [key])),其中dict [key]是相同types的请求列表,并且返回一个和该types的请求总数。 类似于:{request_type1:[request1,request2,request3,…],…}

  3. 那么,相同的2,但应用algorithm的初始完整表。

我不知道VB是否有像Python一样的字典types(并帮助很多!),甚至因为我是VB新手。 非常感谢您的帮助

vba确实有一个字典types,但它的使用可能不会镜像python的实现。 (请参阅: http : //msdn.microsoft.com/en-us/library/aa164502%28v=office.10%29.aspx )

您还可以创build用户定义的types(请参阅: http : //msdn.microsoft.com/zh-cn/library/aa189637%28v=office.10%29.aspx )

如果你有一个工作的解决scheme,这是你最好的起点。 许多Pythonstring函数等可能甚至被命名为相同或足够接近,您可以轻松地在语言参考中find它们。

使用ADO,您可能会发现这更容易,使用Jet / ACE连接的Excel可以很好地工作。 它也将允许使用rs.CopyFromRecordset将合适的集合写入工作表。