Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3637|回复: 6

[已解决]通过单元格内容进行汇总

[复制链接]
发表于 2014-1-17 21:17 | 显示全部楼层 |阅读模式
10学分
汇总单元格内容.zip (5.64 KB, 下载次数: 25)

 楼主| 发表于 2014-1-25 19:20 | 显示全部楼层
上清宫主 发表于 2014-1-18 14:24
Sub test()
Dim ar(), br()
i% = Range("A3").End(xlDown).Row
上清宫主 发表于 2014-1-18 14:24
Sub test()
Dim ar(), br()
i% = Range("A3").End(xlDown).Row
汇总单元格内容.zip (14.52 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2014-1-18 14:24 | 显示全部楼层    本楼为最佳答案   
Sub test()
Dim ar(), br()
i% = Range("A3").End(xlDown).Row
If Cells(i, 1) = "" Then Exit Sub
ar = Range("a3:c" & i).Value
ReDim br(1 To i * 2, 1 To 4)
For i = 3 To 1 Step -2
    For i2% = 1 To UBound(ar)
        If stemp$ = ar(i2, i) Then
           br(r, 4) = br(r, 4) + 1
        Else
           r = r + 1
           br(r, 1) = Cells(i2 + 2, i).Comment.Text
           br(r, 2) = ar(i2, i)
           br(r, 3) = Left(br(r, 1), 2)
           br(r, 4) = 1
           If r > 1 Then br(r - 1, 1) = br(r - 1, 1) & "-" & Left(br(r - 1, 1), 2) & (1 * Right(br(r - 1, 1), 3) + br(r - 1, 4) - 1)
           stemp$ = ar(i2, i)
        End If
    Next
Next
If r > 1 Then
   br(r, 1) = br(r, 1) & "-" & Left(br(r, 1), 2) & (1 * Right(br(r, 1), 3) + br(r, 4) - 1)
   [a35].Resize(r, 4) = br
End If
End Sub
示例似乎有错
回复

使用道具 举报

 楼主| 发表于 2014-1-18 22:36 | 显示全部楼层
上清宫主 发表于 2014-1-18 14:24
Sub test()
Dim ar(), br()
i% = Range("A3").End(xlDown).Row

非常感谢您的帮助,由于示例的错误给你带来不便深表歉意。
您的答案已经达到我的要求,不过我在演示时发现,如果将两排机床同时生产一个产品编号时,就不出结果了,请帮助查找一下原因。
回复

使用道具 举报

 楼主| 发表于 2014-1-19 07:41 | 显示全部楼层
上清宫主 发表于 2014-1-18 14:24
Sub test()
Dim ar(), br()
i% = Range("A3").End(xlDown).Row

如果我再增加一排机床,我要改哪处的设置
回复

使用道具 举报

 楼主| 发表于 2014-2-2 14:59 | 显示全部楼层
期待解决中
回复

使用道具 举报

发表于 2014-2-20 14:29 | 显示全部楼层
学习了 谢谢
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-13 19:03 , Processed in 0.274396 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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