广州拼多多外包美工
生活服务 你的位置:广州拼多多外包美工 > 生活服务 > 电商设计师 VBA将合并单元格拆分成单个单元格并每个单元格放入相同内容

电商设计师 VBA将合并单元格拆分成单个单元格并每个单元格放入相同内容

发布日期:2024-08-29 08:33    点击次数:130

电商设计师 VBA将合并单元格拆分成单个单元格并每个单元格放入相同内容

在Excel中,如果你想要用VBA将一个合并的单元格拆分成单个单元格,并且每个单元格都填充相同的内容,比如下图例子:

图片

可以使用以下代码:

Sub 指定合并单元格拆分成单个单元格并放入相同内容()
Set Z = Cells(2, 1)  '设置要进行拆分的合并单元格区域(使用合并单元格区域中的任一单元格即可)
Dim rng As Range        '设置变量为单元格对象
Cell_value = Z.MergeArea.Cells(1, 1).Value          '获取合并单元格的值
Set A = Range(Z.MergeArea.Address)   '返回合并区域的范围地址,将其设定为单元格区域对象
Z.MergeCells = False  ' 拆分合并单元格
For Each rng In A   '遍历原单元格区域的每个单元格
    rng = Cell_value
Next
End Sub

如果该列需要拆分多个单元格,比如下图例子:

图片

则可以优化代码为:

Sub 指定某列所有合并单元格拆分成单个单元格并放入相同内容()
Dim cell As Range        '设置变量为单元格对象
col = 1     '设定合并单元格所在的列
For Row = 1 To 10   '从第1行到第10行
  	If Cells(Row, col).MergeCells = True Then   '检测是否为合并单元格
        Cell_value = Cells(Row, col).MergeArea.Cells(1, 1).Value           '获取合并单元格的值(原始内容)
        Set A = Range(Cells(Row, col).MergeArea.Address)   '返回合并区域的范围地址,将其设定为单元格区域对象
        Cells(Row, col).MergeCells = False  ' 拆分合并单元格
        For Each cell In A      '遍历原单元格区域的每个单元格
            cell = Cell_value       '放入合并单元格的原始内容
        Next
    End If
Next

如果整个表内的合并单元格都需要拆分并填充,电商设计师则可以这样:

Sub 表中所有合并单元格拆分成单个单元格并放入相同内容()
Dim rng As Range        '设置变量为单元格对象
For Each cell In ActiveSheet.UsedRange   '遍历所有活动单元格
    If cell.MergeCells = True Then
        Cell_value = cell.MergeArea.Cells(1, 1).Value           '获取合并单元格的值(原始内容)
        Set A = Range(cell.MergeArea.Address)   '返回合并区域的范围地址,将其设定为单元格区域对象
        cell.MergeCells = False  ' 拆分合并单元格
        For Each rng In A   '遍历原单元格区域的每个单元格
            rng = Cell_value       '放入合并单元格的原始内容
        Next
    End If
Next
End Sub

相关文章:

vba合并单元格的合并区域MergeArea属性

VBA合并单元格Merge的用法

VBA获取合并单元格的值

vba判断合并单元格开始行结束行

以上内容对您有帮助可以分享或转藏,避免以后找不到。想要了解更多VBA相关知识,欢迎到http://moqingyan.360doc.com我的个人图书馆查看。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。