作者:乔山办公网日期:
返回目录:excel表格制作
软件版本:Office2007
方法如下:
1.利用VBA实现A列和B列同一行内单元格内容合并:
2.Alt+F11,输入代码如下:
3.F5执行代码并返回Excel,得到结果如下:
(将合并636f70797a64339单元格中的数据也合并)
比如这是你要合并两个单元格里的数据,做法如下
A B C
255 8146
在C1单元格里输入=A1&""&B1
注意,在两个双引号里不能有空格,否则就会变成 255 8146
(多元合并,且保留多元数据)
Sub 合并同类项()
If Selection.Columns.Count > 1 Then MsgBox "只能对单列操作,请重新选择区域!": Exit Sub
Selection.Offset(0, 1).EntireColumn.Insert
With Selection
For i = .Cells.Count To 2 Step -1
If .Cells(i) = .Cells(i - 1) Then Range(.Cells(i).Offset(0, 1), .Cells(i - 1).Offset(0, 1)).Merge
Next
Selection.Offset(0, 1).Copy
.PasteSpecial xlPasteFormats
.Offset(0, 1).EntireColumn.Delete
End With
End Sub
3、
合并单元格的名称是合并单元格范围左上角单元格的名称,在VBA中没有特别代码。zhidao
例如:A2:D5是合并单元格,将文本框TextBox1的值赋给合并单元格代码为:
Range("a2").Value = TextBox1
举例:
VBA一定可以,不过你没说清专楚 a1和b1合并,c1和c2合并 然后a2和b2....... 后面是寸 C2和C3吗?C2已经属和C1合并了
是 A1&B1 C1&C2 A2&B2 A3&B3 C3&C4 A4&B4
Sub Macro2()
'
' Macro2 Macro
'
Dim X As Integer, Y As Integer
X = 10 '你要合并多少列 2 是ABCD 5 是ABCDEFGHIJ合并
Y = 30 '多少行
For J = 1 To Y: For I = 1 To X: Range(Cells(J, I + I - 1), Cells(J, I + I)).MergeCells = True: Next I, J
End Sub