excel 如何用VBA进行多列合并?
张三邮箱1邮箱2邮箱3李四邮箱1邮箱2王五邮箱1邮箱2邮箱3邮箱4合并为张三邮箱1张三邮箱2张三邮箱3李四邮箱1以此类推...
张三 邮箱1 邮箱2 邮箱3
李四 邮箱1 邮箱2
王五 邮箱1 邮箱2 邮箱3 邮箱4
合并为
张三 邮箱1
张三 邮箱2
张三 邮箱3
李四 邮箱1
以此类推 展开
李四 邮箱1 邮箱2
王五 邮箱1 邮箱2 邮箱3 邮箱4
合并为
张三 邮箱1
张三 邮箱2
张三 邮箱3
李四 邮箱1
以此类推 展开
4个回答
展开全部
Sub abc()
Dim R%, i%, j%, n%
Dim Arr, Brr, Crr()
R = [A65536].End(xlUp).Row ''''原始数据在A行,R取得A行存在数据的最后一行
ReDim Crr(1 To R * 10, 1 To 1) ''''定义一个CRR动态数组,区域是:R*10(行),1列,10:每人对应的邮箱数的最大值,确保足够
Arr = Range("A1:A" & R) ''''把A列原始数据装入ARR数组中
For i = 1 To UBound(Arr) ''''循环ARR
Brr = Split(Arr(i, 1), " ") ''''用PLIT函数将ARR(i,1)拆分为数组BRR,条件是空格" "
For j = 1 To UBound(Brr) ''''循环BRR
If Brr(j) <> "" Then ''''如果BRR(J)元素不为空值""
Crr(n + 1, 1) = Brr(0) & Brr(j) ''''则将BRR(0)即第一个元素连接BRR(J)装入数组CRR
n = n + 1 ''''n值+1
End If
Next
Next ''''循环结束后将CRR数组装入表格中的B列,从B1开始
Range("b1").Resize(R * 10, 1) = Crr
End Sub
Dim R%, i%, j%, n%
Dim Arr, Brr, Crr()
R = [A65536].End(xlUp).Row ''''原始数据在A行,R取得A行存在数据的最后一行
ReDim Crr(1 To R * 10, 1 To 1) ''''定义一个CRR动态数组,区域是:R*10(行),1列,10:每人对应的邮箱数的最大值,确保足够
Arr = Range("A1:A" & R) ''''把A列原始数据装入ARR数组中
For i = 1 To UBound(Arr) ''''循环ARR
Brr = Split(Arr(i, 1), " ") ''''用PLIT函数将ARR(i,1)拆分为数组BRR,条件是空格" "
For j = 1 To UBound(Brr) ''''循环BRR
If Brr(j) <> "" Then ''''如果BRR(J)元素不为空值""
Crr(n + 1, 1) = Brr(0) & Brr(j) ''''则将BRR(0)即第一个元素连接BRR(J)装入数组CRR
n = n + 1 ''''n值+1
End If
Next
Next ''''循环结束后将CRR数组装入表格中的B列,从B1开始
Range("b1").Resize(R * 10, 1) = Crr
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub aa()
i = 1: o = 10
Dim p As Long
Do While Range("a" & i).Value <> ""
p = 1
Do While Range(Chr(65 + p) & i).Value <> ""
Range("a" & o).Value = Range(Chr(65) & i).Value & " " & Range(Chr(65 + p) & i).Value
p = p + 1
o = o + 1
Loop
i = i + 1
Loop
End Sub
不知道是不是这个样子的。
i = 1: o = 10
Dim p As Long
Do While Range("a" & i).Value <> ""
p = 1
Do While Range(Chr(65 + p) & i).Value <> ""
Range("a" & o).Value = Range(Chr(65) & i).Value & " " & Range(Chr(65 + p) & i).Value
p = p + 1
o = o + 1
Loop
i = i + 1
Loop
End Sub
不知道是不是这个样子的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么叫 合并 呢? 看起来是拆分啊。 你的数据 张三 邮箱1 邮箱2 邮箱3 是在四列数据中,还是在同一列? 关于VBA的问题,最后把实例发上来,不然,代码不好写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询