2013-07-14 64 views
1

我有一个问题,基于一列的相似值合并Excel中的单元格 - 我想保留其他列数据 - 让我们查看一些截图,它会更清晰: enter image description here如何基于相似的值合并单元格 - Excel 2010

上面这是数据的初始状态, 什么,我想实现的是:

enter image description here

我敢肯定有办法用VB或formulas-我做需要最简单的方式,因为这是针对客户和它的需要很容易。

谢谢大家的进步。

回答

4
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) 
+0

什么是扩展这个宏运行在所有列的最佳方式? – Luc

相关问题