当所有单元格尚未具有相同的水平对齐方式时,在选择中循环水平对齐方式

时间:2020-05-17 19:03:26

标签: excel vba formatting cycle select-case

我正在使用下面的VBA代码来(i)使选定范围内的垂直和水平对齐一致,并且(ii)在xlLeft,xlCenter和xlRight之间的选择中循环每个单元格的水平对齐。

但是,只有当整个选择中的 all 个单元具有相同的水平对齐方式时,宏才能正常工作。如果所选范围内的一个或多个单元格的水平对齐方式与其他单元格不同,则此代码的选中情况(即水平对齐方式)部分将不会运行。

如何修改我的代码,以使选择中每个单元格的水平对齐方式从xlLeft开始,然后正确遍历其他2个对齐方式,即使在运行代码之前未统一格式化选择内容?

Sub Format_Alignment_Cycle()
'Keyboard Shortcut: Ctrl + t

Selection.VerticalAlignment = xlCenter
Select Case Selection.HorizontalAlignment
    Case xlGeneral: Selection.HorizontalAlignment = xlLeft
    Case xlLeft:    Selection.HorizontalAlignment = xlCenter
    Case xlCenter:  Selection.HorizontalAlignment = xlRight
    Case xlRight:   Selection.HorizontalAlignment = xlLeft
End Select
End Sub

谢谢!

0 个答案:

没有答案