2016 - 2024

感恩一路有你

优化Excel数据整理:实现分散数据单元格列向左移合并

浏览量:1914 时间:2024-02-27 12:11:41 作者:采采

修法布施得聪明智慧,多分享让生活更美好。上回分享了《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:应用宏代码

回到工作表窗口,选中原数据表,运行【数据向左移动】宏。在菜单栏中选择【视图】,再从下拉列表中选择【宏】,打开宏对话框,选择该宏名称,执行。这将使右边的数据单元格向左移动,有些数据可能需要多次运行才能得到最终结果。

结语

如果这篇经验对您有所帮助,请点击“投票点赞”或者“收藏”以支持我!若仍有疑问,请随时点击“我有疑问”。感谢阅读!

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。