将 Excel 中的单元格与条件合并

问题描述 投票:0回答:3

我正在处理 Excel 文件。我希望有人可以向我展示一个可能对我有帮助的宏,因为我正处于时间紧迫的状态,而且我不知道如何手动解决这个问题。

该表包含网上商店交易数据。我需要找到一种根据某些条件组合行的方法。例如,如果交易编号相同,则这些值会合并而不是相加。

----->>>>>>

excel vba
3个回答
1
投票

如果您有 Excel 2024/365,您可以使用

UNIQUE
功能:

=UNIQUE(A1:B15)

enter image description here


0
投票

此 VBA 代码在源单元格中返回示例屏幕截图所示的结果。

将其放入工作表的代码模块中。

Sub MERGE_COL()

For i = 1 To Range("A1").End(xlDown).Row
  If Range("A" & i).Offset(0, 1) = Range("A" & i).Offset(1, 1) And _
  Range("A" & i) = Range("A" & i + 1) Then
    Range("B" & i) = ""
  End If
Next i

End Sub


0
投票

在我看来,最好的方法是将值连接成一行,然后应用“删除重复项”:

enter image description here

结果如 E:G 所示。

如果您希望按要求获得结果:

Option Explicit

Sub Merge()
  Dim i As Long, j As Long
  [A1].CurrentRegion.Sort Key1:=[A:A], Key2:=[B:B], Header:=xlYes
  Application.DisplayAlerts = False
  i = 3: j = 2
  While Not IsEmpty(Cells(i, 1))
    If Cells(i, 1) <> Cells(j, 1) Or Cells(i, 2) <> Cells(j, 2) Then
      Cells(j, 2).Resize(i - j, 1).Merge
      Cells(j, 2).VerticalAlignment = xlCenter
      j = i
    End If
    i = i + 1
  Wend
  Cells(j, 2).Resize(i - j, 1).Merge
  Cells(j, 2).VerticalAlignment = xlCenter
  Application.DisplayAlerts = True
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.