- ·上一篇:excel表格怎么跨格拖公式
- ·下一篇:excel表格的字怎么变浅
excel表格怎么做多对多
1.EXCEL中,如何实现一对多的条件合并
Public Sub zhl()
Dim MyM()
Dim LRow As Long
Dim i As Long
Dim t As Long
Dim Bk As Long
Dim TempS As String
LRow = Range("B65536").End(xlUp).RowBk = 0
For i = LRow To 2 Step -1
If Cells(i, 1) = "" And Cells(i - 1, 1) <> "" Then
Bk = Bk + 1
End If
Next i
ReDim MyM(Bk, 2)
Bk = 0
For i = 2 To LRow - 1
If Cells(i, 1) <> "" And Cells(i + 1, 1) = "" Then
Bk = Bk + 1
MyM(Bk, 1) = i
End If
If Cells(i, 1) = "" And Cells(i + 1, 1) <> "" Then
MyM(Bk, 2) = i
End If
Next i
If Cells(LRow, 1) = "" Then MyM(Bk, 2) = LRow
For i = 1 To Bk
For t = MyM(i, 1) To MyM(i, 2)
TempS = TempS & Chr(10) & Cells(t, 2)
Next t
Range("B" & MyM(i, 1) & ":B" & MyM(i, 2)).Clear
TempS = Right(TempS, Len(TempS) - 1)
Range("B" & MyM(i, 1)) = TempS
Range("A" & MyM(i, 1) & ":A" & MyM(i, 2)).Merge
Range("B" & MyM(i, 1) & ":B" & MyM(i, 2)).Merge
TempS = ""
Next i
此代码可以实现合并A列单元格的目的,如果B列同类字符太多,可能有会受到单元格内字符数的限制。最好还是合并A列的单元格好吧?