设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1810|回复: 1
打印 上一主题 下一主题

[求助]如何把相同列的其它列记录合并

[复制链接]
跳转到指定楼层
1#
发表于 2007-4-18 04:20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请见附件,需要把表一转换成表二的形式,其中统计总数我找到方法。但合并字段就不知道。

请各位指点迷津,最好提供详细说明,非常感谢!



[此贴子已经被作者于2007-4-17 20:22:33编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-5-20 20:51:00 | 只看该作者
我想了一个比较笨的办法,或许其他高手会有更好的.

初步运行结果为正确的,不同的情况可能略有不同.

你自已看情况去修改吧.


'要求必须先对表一按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



[此贴子已经被作者于2007-5-20 12:58:23编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-24 17:23 , Processed in 0.099177 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表