打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA实用小程序74:将合并单元格转换为跨列居中

excelperfect

“合并后居中”按钮是Excel界面中一个非常方便的功能,很多人都喜欢使用合并单元格。然而,对合并单元格进行一些操作会带来一些问题,Excel会给出下图1所示的提示消息。

图1

这往往会让人感到困惑。

其实,Excel有一个隐藏着的替代选项,称为“跨列居中”,与合并单元格效果相同,如下图2所示。

图2

虽然两者看起来效果不同,但实质上是不同的,“跨列居中”不会导致上图1所示的错误信息提示。

单击“开始”功能区“对齐方式”(或者“字体”、“数字”)组右下角的对话框启动器,或者按“Ctrl+1”组合键。在弹出的“设置单元格格式”对话框中选择“对齐”选项卡,在“水平对齐”下拉列表中选择“跨列居中”,如下图3所示。

图3

如果已经有一个包含大量合并单元格的工作簿,如果要一个单元格一个单元格地改变其格式设置,没有必要,因为可以使用下面的VBA程序。

Sub ConvertMergedCellsToCenterAcross()

    Dim c As Range

    Dim mergedRange As Range

   '检查当前是否为工作表

    If TypeName(ActiveSheet) <>'Worksheet' Then Exit Sub

   '遍历已使用的所有单元格

    For Each c In ActiveSheet.UsedRange

        '如果合并且单行

        If c.MergeCells = True Andc.MergeArea.Rows.Count = 1 Then

            '为合并单元格设置变量

            Set mergedRange = c.MergeArea

            '取消合并单元格并应用跨列居中

            mergedRange.UnMerge

            mergedRange.HorizontalAlignment =xlCenterAcrossSelection

        End If

    Next

End Sub

跨列居中不适用于跨行,因此,上面的VBA程序专门设计为不删除任何包含多行的合并单元格。

注:本文整理自exceloffthegrid.com,供有兴趣的朋友学习参考。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用vba来判定单元格是否已经被合并,以及合并的范围
获取excel多列区域最后非空单元格行数(VBA5练习2)——答案
Excel VBA中的cells单元格的用法
手把手教你认识Excel中的VBA
来看看excel VBA中怎么表示单元格的
VBA如何清除excel单元格的内容和格式?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服