Excel精英培训网

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

[已解决]VBA对齐合并单元格数据

[复制链接]
发表于 2016-12-18 23:20 | 显示全部楼层 |阅读模式
VBA对齐合并单元格数据
如图:最好能用公式实现,如果不能,用VBA也可以,请老师们帮下忙,谢谢老师们了!

215937yiksghsh6fixp6kh.jpg
VBA对齐合并单元格数据.rar (9.1 KB, 下载次数: 5)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-12-19 09:00 | 显示全部楼层
“最好能用公式实现”这个问题大概函数公式是完不成的吧
回复

使用道具 举报

 楼主| 发表于 2016-12-19 14:42 | 显示全部楼层
哪位老师有好的办法呀,谢谢了!
回复

使用道具 举报

发表于 2016-12-19 15:42 | 显示全部楼层    本楼为最佳答案   
yjwdjfqb 发表于 2016-12-19 14:42
哪位老师有好的办法呀,谢谢了!
  1. Sub test()
  2.     Dim i&, j%, arr, brr
  3.     For i = 2 To Cells(1, 1).End(4).Row
  4.         arr = Split(Cells(i, 1), Chr(10))
  5.         brr = Split(Cells(i, 2), Chr(10))
  6.         Debug.Print UBound(arr)
  7.         Debug.Print LBound(arr)
  8.         For j = 0 To UBound(arr)
  9.             s = s & arr(j) & "(" & brr(j) & ")" & Chr(10)
  10.         Next
  11.         Cells(i, 3) = Left(s, Len(s) - 1)
  12.         s = ""
  13.     Next
  14. End Sub
复制代码


评分

参与人数 1 +12 收起 理由
yjwdjfqb + 12 来学习

查看全部评分

回复

使用道具 举报

发表于 2016-12-19 16:41 | 显示全部楼层
挤在一起真心不是好的方式。

不能避免这种情况吗?


回复

使用道具 举报

发表于 2016-12-19 17:04 | 显示全部楼层
本帖最后由 7171 于 2016-12-19 17:05 编辑

Sub test()

Dim arr()
Dim arr1()
Dim arr2()
Dim arr3() As String
Dim arr4() As String


arr1 = Range("a2:a7")
arr2 = Range("b2:b7")
ReDim arr(1 To UBound(arr1))

For i = 1 To UBound(arr1)
  arr3 = Split(arr1(i, 1), Chr(10))
  arr4 = Split(arr2(i, 1), Chr(10))
  For j = 0 To UBound(arr4)
    arr4(j) = Join(Array("(", arr4(j), ")"), "")
    arr3(j) = Join(Array(arr3(j), arr4(j)), "")
  Next
  arr(i) = Join(arr3, Chr(10))
Next
Range("c2:c7") = Application.WorksheetFunction.Transpose(arr)

End Sub
这是我的方法,请高手指教

评分

参与人数 1 +12 收起 理由
yjwdjfqb + 12 赞一个

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 12:13 , Processed in 0.415651 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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