返回目录:excel表格制作
代码如下:百
Sub main()
For i = 1 To Range("A1").End(xlDown).Row'取A列最大行数,并从1到最大行数循环
If Range("A" & i).MergeCells = True Then'如果度单元格问为合并单元格
For j = 1 To Range("A" & i).MergeArea.Count'从1到合并单元格的数量循环
Cells(i + j - 1, 3) = Cells(i, 1) & Cells(i + j - 1, 2)'第三列等于第一列答第一行合并上第二列对应各行
Next j
Else'如果不是合并单元格
Cells(i, 3) = Cells(i, 1) & Cells(i, 2)'第三列等于第一列合并第二列
End If
Next i
End Sub
详细操作步骤如内下:
数据源
Alt+F11,双击Sheet1,在空白VBA设计区域,复制上述代码,并点击运行,或容者按F5
运行结果如下:
ALT+F11——zd右键ThisWorkbook——插回入模块——粘贴如下代码
Function mergecount(rng1 As Range)
If rng1 <> "" Then
mergecount = rng1.MergeArea.Count
End If
End Function
再调用公式答即可
1、 打开一个Excel的文件,在表格中输入简单的表格,比如学生成绩表格。
2、百 接着度,鼠标左键单击【开发工具】菜单标签,在VBA控件下拉菜单中,并选择按钮问控件。
3、 然后,在表格中绘制出按钮控件,并修改控件名称。
4、 接着,鼠标左键单击【查看代答码】按钮。
5、 然后,在代码窗口中输入VBA语句,比如输入定义内变量语句,并选择字符串类型。
6、 接着,在代码窗口中输入读取单元格的VBA语句。
7、最后,在设计窗口上,鼠标左键单击按钮,可以看到表格中的,通过VBA程序读取数据,并输出到容右边的单元格中,显示出数据了,通过这样的操作,就可以用VBA读取合并单元格数据了。
1. 因素数:Application.WorkSheetFunction.CountA("A:A") - 1
2. 因素A所占行数为:range("A2").MergeArea.Cells.Rows.count
3. 有点复杂,总体上讲是定义一个抄3Xn的动态数组,然后遍历所有行,将数据填充zd到数组中。