pe如何加载raid驱动:excel高手或编程高手帮忙啊!

来源:百度文库 编辑:高考问答 时间:2024/05/11 02:34:24
老板给了我一个超大的excel文档,含近两万条数据。有一列是人名(近百个左右不同人名)。老板让我根据人名将大excel文档拆分成不同的小excel文档。问题是某些条数据“人名”项是两个人以上,那么这类数据要分别归到不同人名的小excel文档中。我知道可以从“人名”选项中选取不同人名以筛选不同的数据,再复制粘贴到新excel文档中,但一个一个来工作量过大!并且会出现人名包含现象:如有人叫王朝,另一个叫王朝阳,那么在选王朝时,王朝阳的也都出来了!并且偏偏这个大excel文档中这种现象很严重!有没由什么软件和程序能解决这个问题啊!
高手该出手时就出手阿!
万谢!!
我的邮箱是100833@163.com,高手也可以直接发我邮箱啊!
好人好运好梦啊!
谢谢您了!
可是这个文档有点保密性啊!咳!只能慢慢来了!
主要操作是按人名拆分成小的excel文档。一条数据“人名”项含多人时,那这条数据要分别归到不同小excel文档中。不知有没有什么软件用于这类拆分,或是有什么程序。因为我觉得这类操作应该很普遍的。

'//以下程序在winXP、win98系统,EXCEL2000下测试通过,因数据量较大,建议运行时关闭其它程序.
'//运行条件:
'****关闭所有工作薄,只打开需要处理的工作薄,
'****需要处理的工作表(姑且称之为Sheet1)无合并单元格,
'****工作表Sheet1有且只有第一行为标题行.
'//运行方法:在工作薄VBA代码窗口,插入模块,清除不相干代码,粘贴以下代码,然后可运行
'//运行结果:在原工作薄所在目录,新建若干以员工姓名为文件名的工作薄,且已写入该员工所有数据,但未复制原工作薄格式.
'//建 议:运行前拷贝原工作薄到其它位置作好备份.

Sub 连接()
Dim Fname As String, myPath As String, ziDuan() As String, ziDuanNum As Integer
Fname = "d:\my documents\temp\????.xls" '改为实际路径及待处理工作薄名
myPath = ThisWorkbook.Path
If Right(myPath, 1) <> "\" Then myPath = myPath & "\"
Set conn = CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Fname
conn.Open Driver & DBPath

Set rs = CreateObject("ADODB.Recordset") 'CreateExcelRecordset
Sql = "Select distinct 姓名 From [Sheet1$]" '将Sheet1改为待处理工作表,不要落下$符号
rs.Open Sql, conn, 3, 1
While Not rs.EOF
Workbooks.Add

Set rssj = CreateObject("ADODB.Recordset")
sqlsj = "select * from [Sheet1$] where 姓名 = '" & rs("姓名") & "'" '同上改Sheet1
rssj.Open sqlsj, conn, 3, 1

ziDuanNum = rssj.fields.Count
ReDim ziDuan(ziDuanNum - 1)
For j = 0 To ziDuanNum - 1
ziDuan(j) = rssj(j).Name
Next
Workbooks(2).Sheets(1).Range(Cells(1, 1), Cells(1, ziDuanNum)) = ziDuan() '写入字段名,即顶端标题行

i = 1
While Not rssj.EOF
i = i + 1
For j = 0 To ziDuanNum - 1
Workbooks(2).Sheets(1).Cells(i, j + 1) = rssj(j)
Next
rssj.movenext
Wend
rssj.Close

Workbooks(2).SaveAs myPath & rs("姓名")
Workbooks(2).Close , False
rs.movenext
Wend

rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub

可以用程序解决,可你不给数据我怎么给你程序那