excel中关于合并单元格的VBA代码 excelVBA,写个简单代码把多个单元格的直合并到一个单元...

作者&投稿:范胡 (若有异议请与网页底部的电邮联系)
合并单元格的名称是合并单元格范围左上角单元格的名称,在VBA中没有特别代码。
例如: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

问题1:在VBA可以用Range.MergeArea得到其合并区域,举例,用下面语句,可以和得到A2对应的合并区域,最后R的结果为A2:A3,即R.Address="$A$2:$A$3"
Dim R As Range
Set R = Range("A2").MergeArea

问题2:下面的程序,将A13单元格的合并取消,并且将对应区域每一单元格都赋值为A13的值。供参考。
Sub MyUnmerge()
Dim R As Range, Rm As Range
Set R = Range("A13")
Set Rm = R.MergeArea
R.UnMerge
Rm.Value = R.Value
End Sub
请看是否是你需要的功能。

Sub xxx()
If Range("a1").MergeArea.Count <> 1 Then '判断是否为合并单元格
Set ran = Range("a1").MergeArea
ran.UnMerge
ran.FormulaR1C1 = Range("a1").Value
End If
End Sub
Range("a1").MergeArea即返回合并单元格包含的区域,后面带取消合并和填入相同值,你要怎么循环看你自己怎么写了 ,要获得地址,用address属性

选中A列------ 撤销合并单元格(即点击合并单元格按钮) ---选中A列有数据范围 -F5----定位条件--空值---- 依次按 = 向上方向键 ctrl+enter

复制A列 右键--- 选择性粘贴--数值

问题1:
Sub MyMerge()
For i = 2 To 100
Set cel = Range("A" & i)
If cel.MergeCells Then
MsgBox cel.Address(0, 0) & ":A" & cel.MergeArea.Rows.Count + i - 1 & "为合并单元格"
i = i + cel.MergeArea.Rows.Count - 1
End If
Next
End Sub

问题2:
Sub MyUnMerge()
For i = 2 To 100
Set cel = Range("A" & i)
If cel.MergeCells Then
k = cel.MergeArea.Rows.Count - 1
Range(cel.Address(0, 0) & ":A" & cel.MergeArea.Rows.Count + i - 1).UnMerge
For j = 1 To k
cel.Offset(j, 0) = cel
Next
i = i + cel.MergeArea.Rows.Count - 1
End If
Next
End Sub

EXCEL,VBA中如何获取 合并单元格的值~

1、 打开一个Excel的文件,在表格中输入简单的表格,比如学生成绩表格。

2、 接着,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件。

3、 然后,在表格中绘制出按钮控件,并修改控件名称。

4、 接着,鼠标左键单击【查看代码】按钮。

5、 然后,在代码窗口中输入VBA语句,比如输入定义变量语句,并选择字符串类型。

6、 接着,在代码窗口中输入读取单元格的VBA语句。

7、最后,在设计窗口上,鼠标左键单击按钮,可以看到表格中的,通过VBA程序读取数据,并输出到右边的单元格中,显示出数据了,通过这样的操作,就可以用VBA读取合并单元格数据了。

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

EXCEL,VBA中如何获取 合并单元格的值
答:1、 打开一个Excel的文件,在表格中输入简单的表格,比如学生成绩表格。2、 接着,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮控件。3、 然后,在表格中绘制出按钮控件,并修改控件名称。4、 接着,鼠标左键单击【查看代码】按钮。5、 然后,在代码窗口中输入VBA语句...

如何通过VB合并Excel单元格以及设置Excel行高?
答:引用Spire.XLS(需要先下载),合并Excel单元格:Dim workbook As New Workbook()workbook.LoadFromFile("Sample.xlsx")workbook.Worksheets(0).Rows(0).Merge()workbook.Worksheets(0).Range("A3:B5").Merge()workbook.SaveToFile("Merge.xlsx")设置行高、列宽:'创建Workbook对象 Dim wookbook As New ...

...中用VB引用单元格,如果单元格是已被合并的单元格,就会出错,如何读取...
答:可以先做一个判断,确认是否为合并的单元格 MergeState = ActiveCell.Offset(2, 0).MergeCells 我在EXCEL的宏里测试下面的代码,读到被合并的单元格并未出错,只是读到 空值而已 temp = ActiveCell.Offset(2, 0).Value

Excel中如何用vba统计cells(I,j)所在的合并单元格的合并个数?
答:通过MergeArea.rows.count获得合并区域的行数,MergeArea.columns.count获得合并区域的列数 故题目中要统计cells(i,j)所在的合并单元格的合并个数就可以用下面代码实现:sub main ro=cells(i,j).MergeArea.Rows.Count co=cells(i,j).MergeArea.Columns.Count su=ro*co msgbox "指定单元格合并区域包含...

如何通过VB合并Excel单元格以及设置Excel行高?
答:首先在VB中引用microsoft excel object library 假设c盘根目录下有个1.xls的文件 ………问题补充:你的要求很简单,一行指令恐怕不行,最少要三行 代码如下:Private Sub Form_Load()Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim i As Integer ...

如何用excel的VBA实现单元格内容的合并?
答:软件版本:Office2007 方法如下:1.利用VBA实现A列和B列同一行内单元格内容合并:2.Alt+F11,输入代码如下:3.F5执行代码并返回Excel,得到结果如下:

如何将Excel两个单元格的内容合并到一个单元格
答:1.首先将需要合并的内容放在同一列中。有时候内容会在一行里面,这时就需要进行一下转置。2.调整列宽,保证合并以后的内容长度能够放在一个单元格内。在这里合并后有6个字,因此将这一列列宽调的大一些。3.选中目标单元格,点击“填充”。4.在下拉菜单里面,选择“两端对齐”选项。然后内容就会合并到...

...一个已经动态生成的excel工作表里的某两个单元格进行判断,并给其他...
答:首先,先选择要合并的单元格区域。选择单元格区域后,用点击开始选项卡中的“复制”按钮或者按键盘的“Ctrl+C”键等方法进行复制。复制后点击开始选项卡中下图所示的“剪贴板”功能区右下角的按钮,这个按钮比较小。点击后会打开Excel自带的剪贴板,在剪贴板中会显示已复制的内容。此时用鼠标双击要粘贴的...

excel vba数组赋值给合并的单元格
答:arr = Range("a1:b4")[C1].Resize(4, 2) = arr

Excel中的vba复制粘贴合并单元格的问题.
答:如果是把一列数据粘贴到另一列均为两行合并的单元格中,比如C1的数据到A1、A2、A3合并的单元格里面,C2的数据到A4、A5、A6合并的单元格里面,在A1、A2、A3合并的单元格里面里面输入:=OFFSET(C$1,INT((ROW(C1)-1)/3),)。如果是2行合并成一格的,把公式中的3改成2就行,也就是说,几行...