Office中国论坛/Access中国论坛
标题: [求助]如何把相同列的其它列记录合并 [打印本页]
作者: Kevin_song 时间: 2007-4-18 04:20
标题: [求助]如何把相同列的其它列记录合并
请见附件,需要把表一转换成表二的形式,其中统计总数我找到方法。但合并字段就不知道。
请各位指点迷津,最好提供详细说明,非常感谢!
[attach]23997[/attach]
[此贴子已经被作者于2007-4-17 20:22:33编辑过]
作者: tony_zhong 时间: 2007-5-20 20:51
我想了一个比较笨的办法,或许其他高手会有更好的.
初步运行结果为正确的,不同的情况可能略有不同.
你自已看情况去修改吧.
'要求必须先对表一按A列进行排序
'表一A列中间不能有空值
Sub hebin()
Dim i, j, k As Integer
Dim vString As String
Sheets("sheet1").Select
'i 为表一指针
'j 为表二指针
'K 为记录数
'vString 记录标志
i = 3
j = 3
Do While Sheets("sheet1").Cells(i + 1, 1).Value <> ""
k = 1
vString = Sheets("sheet1").Cells(i, 4).Value
Do While Sheets("sheet1").Cells(i + 1, 1).Value = Sheets("sheet1").Cells(i, 1).Value
k = k + 1
vString = vString + "," + Sheets("sheet1").Cells(i + 1, 4).Value
i = i + 1
Loop
Sheets("sheet2").Cells(j, 1).Value = Sheets("sheet1").Cells(i, 1).Value
Sheets("sheet2").Cells(j, 2).Value = Sheets("sheet1").Cells(i, 2)
Sheets("sheet2").Cells(j, 3).Value = Sheets("sheet1").Cells(i, 3)
Sheets("sheet2").Cells(j, 4).Value = k
Sheets("sheet2").Cells(j, 5).Value = vString
i = i + 1
j = j + 1
Loop
End Sub
[attach]24527[/attach]
[此贴子已经被作者于2007-5-20 12:58:23编辑过]
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |