优化Excel数据整理:实现分散数据单元格列向左移合并
修法布施得聪明智慧,多分享让生活更美好。上回分享了《Excel怎样快速根据重复字段合并其它列数据》,介绍了行相同数据其不同数据合并至一行中处理方法。今天我们将探讨如何利用Excel将分散的数据单元格列条向左移到一起,以提高数据整理效率。
步骤1:准备工作
首先打开Microsoft Office Excel,新建文档并保存文件名为《Excel如何把分散的数据单元格列条向左移到一起.xlsm》。接着按下快捷键ALT F11打开VBE(宏)编辑界面,在菜单栏【插入】下拉列表中选择【模块(M)】。
步骤2:插入宏代码
在新插入的模块1中,复制粘贴以下代码:
```vba
Option Base 1
Sub 数据向左移动()
Dim myr As Range, i As Long, j As Long, r As Long, c As Long
Dim k As Long, n As Long, x As Long, mb, m
Set myr Selection
m
r
c
k 0: n 0: x 0
ReDim mb(r, 2)
For i 2 To c
For j 1 To r
If j 1 Then
If myr.Cells(j, i).Value <> "" Then
x x 1
mb(x, 1) j
k 1
Else
n 1
End If
Else
If myr.Cells(j, i).Value <> "" Then
k k 1
If k 1 Then
x x 1
mb(x, 1) j
k 1
n 0
Else
n 1
End If
Else
n n 1
End If
End If
If j r And myr.Cells(j, i).Value <> "" Then
mb(x, 2) j
End If
Next j
For j 1 To x
If mb(j, 1) mb(j, 2) Then
If myr.Cells(mb(j, 1), i - 1).Value "" Then
myr.Cells(mb(j, 1), i).Cut Destination:myr.Cells(mb(j, 1), i - 1)
Else
n 0
End If
Else
For k mb(j, 1) To mb(j, 2)
If myr.Cells(k, i - 1).Value <> "" Then
n 1
Exit For
End If
Next k
If n 0 Then
For k mb(j, 1) To mb(j, 2)
myr.Cells(k, i).Cut Destination:myr.Cells(k, i - 1)
Next k
End If
End If
Next j
Next i
Set myr Range(m)
k 0: n 0: x 0
Erase mb
ReDim mb(r, 2)
End Sub
```
步骤3:应用宏代码
回到工作表窗口,选中原数据表,运行【数据向左移动】宏。在菜单栏中选择【视图】,再从下拉列表中选择【宏】,打开宏对话框,选择该宏名称,执行。这将使右边的数据单元格向左移动,有些数据可能需要多次运行才能得到最终结果。
结语
如果这篇经验对您有所帮助,请点击“投票点赞”或者“收藏”以支持我!若仍有疑问,请随时点击“我有疑问”。感谢阅读!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。