我想,如果在列中存在重复一个合并单元格的值,如果重复存在
A B
123 A
123 B
123 C
456 D
456 E
789 F
我的输出应该是这样的
A B
123 A B C
456 D E
789 F
我有大量的合并在B列中的值的数据,它很难手动,所以你们有任何想法在Excel中的宏?
任何帮助将提前appreciated..Thanks
我想,如果在列中存在重复一个合并单元格的值,如果重复存在
A B
123 A
123 B
123 C
456 D
456 E
789 F
我的输出应该是这样的
A B
123 A B C
456 D E
789 F
我有大量的合并在B列中的值的数据,它很难手动,所以你们有任何想法在Excel中的宏?
任何帮助将提前appreciated..Thanks
如果您想在同一个细胞中产生的数据的原始数据的单元格存在,即不10,那么你必须将源数据存储在一个二维数组中。然后从数组中我们使用上面的代码将数据插入原始数据存在的相同位置。这里列出来完成任务:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim names(2 To 7, 2)
For i = 2 To 7
names(i, 1) = Cells(i, 1)
names(i, 2) = Cells(i, 2)
Next
On Error Resume Next:
Sheet1.Cells.Clear
cnt = 2
For i = 2 To 7
strg = strg + names(i, 2)
If names(i + 1, 1) <> names(i, 1) Then
Cells(cnt, 1) = names(i, 1)
Cells(cnt, 2) = strg
cnt = cnt + 1
strg = ""
End If
Next
End Sub
请注意,我已经声明名称数组与两个dimenesion存储数据。然后搜索数组以获得结果。
我欺骗和使用的公式如下: 1)排序列A
2)在山口C,添加公式来测试是否当前的一个是最后(假设有一个报头,把这个在C2现在
=if(A2<>A3,TRUE,FALSE)
,这仅应是在一系列在山口d相同的ID的
3),添加一个公式,如果ID是相同的级联的最后一个单元真,
=if(A2=A1,D1&" "&B2,B2)
4)列C过滤至SHO w只是每个系列中的最后一个单元格。
干杯。
您可以使用下面的宏:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
cnt = 10
For i = 2 To 7
strg = strg + Cells(i, 2)
If Cells(i + 1, 1) <> Cells(i, 1) Then
Cells(cnt, 1) = Cells(i, 1)
Cells(cnt, 2) = strg
cnt = cnt + 1
strg = ""
End If
Next
End Sub
所请求的数据会从细胞中印10
谢谢你@Rangan它的工作+1,我想在串联值之间添加一些空格,我尝试了strg =“”,但不工作。 – Bharu
@Ranan:不是将答案发布为不同的用户,而是可以删除此答案并将其与上述答案合并?如果不是,请删除此答案。 – shahkalpesh
循环+连接... – matzone
感谢您的提示,但iam新尝试宏.. – Bharu