多行Excel到每行新行

时间:2015-03-28 13:21:48

标签: database excel vba excel-vba ms-access

我有一个很大的excel文件,5000行样本上传here

该文件包含有关员工的数据,如下所示:

First Column: Employee Name
Second: Employee ID
Columns 3-7:  Experiences (Multiline Values)
3: Career Name
4: Rank
5: From
6: To
7: Reason For Leaving
Columns 8-13: Managerial Jobs
Columns 14-17: Education
Columns 18-26: Courses

现在,每位员工都有很多多线路的经验值,管理职位,教育和课程价值,换句话说,他在同一行的每一行都有很多课程

现在需要的是: Excel宏(VBA):

  1. 将带有标题的每个员工(行)移动到同一工作簿中的新工作表,并将具有员工ID的工作表命名为第2列(此代码已准备就绪)

  2. 对于每个多行值(例如教育),它应该将每行添加到单独的行中

  3. 如果可能按日期对每个多行值进行排序,从较旧到较新。 就是这样,
  4. 在附加的excel文件中,我已经成为第一个员工,可以为大约5000名员工重复此操作,如果没有,您建议使用哪个数据库,Microsoft Access可以这样做吗?

2 个答案:

答案 0 :(得分:0)

,有可能,带有VBA sub的Excel可以处理所有这些。 MS Access也可以这样做,但据我所知,它无法在现有的Excel文件中将表格创建为工作表。

答案 1 :(得分:0)

虽然Excel理论上可以处理5000个工作表,但我不建议创建这样的工作簿。

即使只有几百张,Excel工作簿也非常难以操作。性能可能是一个问题,但导航是一个更大的问题!底部的水平列表中只显示少量工作表。使用VBA可以创建菜单以更快地访问特定工作表;但是系统还远非完美。

这听起来像Access数据库在这里会更好。

我建议员工一个表(这将有~5000条记录),其中每个员工都有一个唯一的ID。职业名称和排名等“单行”字段也可以在此处输入。

然后,您将为每个“多行”字段设置另一个表,并使用employees表中的外键。