excel,如何快速有效实现分多列(按照内容分)?
答案:4 悬赏:70 手机版
解决时间 2021-12-02 00:58
- 提问者网友:绫月
- 2021-12-01 08:20
excel,如何快速有效实现分多列(按照内容分)?
最佳答案
- 五星知识达人网友:第四晚心情
- 2021-12-01 08:37
直接给VBA代码吧!VBA 操作步骤: 1、 打开你要处理的表(请处理前一定备份你的数据表);2、按住ALT + F11 ,双击ThisWorkbook,在出现的界面粘贴代码,见下图:
3、粘贴好代码后,按F5(或者直接点击 有“通用”字样上方那个小三角形),然后静等结果。
4、运行结果如下图:
最后:由于不知道你的数据量,整个数据能处理的初始为 1000 行,如果你的数据超过1000行,请再联系我。或者你自行修改代码中“1000”的地方。
友情提示:处理数据前,请注意数据备份。
Sub ReSort()
Dim i As Integer
For i = 2 To 1000
If Cells(i, 1) <> "" And Cells(i, 1) <> Cells(i - 1, 1) Then
Dim j As Integer
For j = 4 To 1000 Step 2
If Cells(2, j) = "" Then
Cells(2, j) = Cells(i, 1)
Exit For
End If
Next j
End If
Next i
Dim i2 As Integer
For i2 = 2 To 1000
If Cells(i2, 1) <> "" Then
Dim j2 As Integer
For j2 = 2 To 1256 Step 2
If Cells(i2, 1) = Cells(2, j2) Then
If Cells(2, j2 + 1) = "" Then
Cells(2, j2 + 1) = Cells(i2, 2)
Exit For
End If
If Cells(2, j2 + 1) <> "" Then
Dim n As Integer
For n = 1 To 201
If Cells(2 + n, j2 + 1) = "" And Cells(n + 1, j2 + 1) <> "" Then
Cells(n + 2, j2) = Cells(i2, 1)
Cells(n + 2, j2 + 1) = Cells(i2, 2)
Exit For
End If
Next n
End If
Exit For
End If
Next j2
End If
Next i2
End Sub
3、粘贴好代码后,按F5(或者直接点击 有“通用”字样上方那个小三角形),然后静等结果。
4、运行结果如下图:
最后:由于不知道你的数据量,整个数据能处理的初始为 1000 行,如果你的数据超过1000行,请再联系我。或者你自行修改代码中“1000”的地方。
友情提示:处理数据前,请注意数据备份。
Sub ReSort()
Dim i As Integer
For i = 2 To 1000
If Cells(i, 1) <> "" And Cells(i, 1) <> Cells(i - 1, 1) Then
Dim j As Integer
For j = 4 To 1000 Step 2
If Cells(2, j) = "" Then
Cells(2, j) = Cells(i, 1)
Exit For
End If
Next j
End If
Next i
Dim i2 As Integer
For i2 = 2 To 1000
If Cells(i2, 1) <> "" Then
Dim j2 As Integer
For j2 = 2 To 1256 Step 2
If Cells(i2, 1) = Cells(2, j2) Then
If Cells(2, j2 + 1) = "" Then
Cells(2, j2 + 1) = Cells(i2, 2)
Exit For
End If
If Cells(2, j2 + 1) <> "" Then
Dim n As Integer
For n = 1 To 201
If Cells(2 + n, j2 + 1) = "" And Cells(n + 1, j2 + 1) <> "" Then
Cells(n + 2, j2) = Cells(i2, 1)
Cells(n + 2, j2 + 1) = Cells(i2, 2)
Exit For
End If
Next n
End If
Exit For
End If
Next j2
End If
Next i2
End Sub
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-12-01 12:22
代码最快捷,只是要付费
- 2楼网友:洒脱疯子
- 2021-12-01 10:55
用vba处理是世界上最快的办法
- 3楼网友:逐風
- 2021-12-01 09:46
用VBA代码完成
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯