我在基于类似于一列的值合并excel中的单元格时遇到问题 - 我想保留其他列数据 - 让我们查看一些截图,它会更清晰:
以上是数据的初始状态, 我想要实现的是:
我确信有一种方法可以用VB或公式来做 - 我需要最简单的方法,因为这是为了客户而且它需要很容易。
先谢谢大家。
答案 0 :(得分:6)
Option Explicit
Private Sub MergeCells()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim rngMerge As Range, cell As Range
Set rngMerge = Range("A1:A100") 'Set the range limits here
MergeAgain:
For Each cell In rngMerge
If cell.Value = cell.Offset(1, 0).Value And IsEmpty(cell) = False Then
Range(cell, cell.Offset(1, 0)).Merge
GoTo MergeAgain
End If
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
您可以硬编码范围限制(即要检查的A列中的最后一行),让用户每次输入它,或者以编程方式查找范围中的最后一行。无论哪种方式,这应该让你开始。
顺便说一下,您可以在A列的最后一行找到以下内容:
Dim i As Integer
i = Range("A1").End(xlDown).Row
Set rngMerge = Range("A1:A" & i)