如何设置整个工作簿的字体和大小,而不是逐个工作表设置?

7
我希望我的宏可以更新整个工作簿的字体、大小和垂直对齐方式,但我只能找到逐个工作表设置的选项。这不算太麻烦,但我想知道是否可以通过一个命令全局设置并更新整个工作簿。
Sub SetFormat()
    With Sheets(1)
        .Cells.Font.Name = "Segoe UI"
        .Cells.Font.Size = 10
        .Cells.VerticalAlignment = xlCenter
    End With
End Sub

你可以在你已经编写的代码周围添加一个循环,并让它遍历每个工作表。 - Vulthil
2个回答

9
如果你愿意,你可以处理 Styles。更改工作簿的默认样式非常快,但可能会有副作用。试一试。
With ActiveWorkbook.Styles("Normal").Font
    .Name = "Aharoni"
    .Size = 11
End With

什么样的副作用? - CustomX
1
我发现已经按照工作簿默认字体和大小格式化的文本会被更新。行号和列字母的字体也会受到影响。 - ChrisB

3
这段代码应该遍历工作簿中的每个工作表并更改属性。
Sub SetFormat()
Dim ws as Worksheet
    For Each ws in Worksheets
         With ws
            .Cells.Font.Name = "Segoe UI"
            .Cells.Font.Size = 10
            .Cells.VerticalAlignment = xlCenter
         End With
    Next ws
End Sub

该方法的问题在于工作簿默认值未更改,新添加的工作表将使用默认字体。 - ChrisB

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接