gpt4 book ai didi

vba - 将单元格格式/样式存储为 VBA 中的变量

转载 作者:行者123 更新时间:2023-12-04 21:31:39 25 4
gpt4 key购买 nike

我正在尝试找出一种简单的方法来格式化在 VBA 中创建的输出表。在这方面,如果能够将“完整”单元格格式/样式存储在变量或函数中,可以在整个代码的不同点应用,这将很方便。

例如,在我当前的项目中,我想在多个单元格上应用以下格式:

With CellX
.ClearFormats
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Color = RGB(217, 217, 217)
.Interior.Color = RGB(127, 126, 130)
.Font.name = "Arial"
.Font.Size = 8
.Font.Color = RGB(255, 255, 255)
.HorizontalAlignment = xlRight
.Font.Bold = True
End With

由于我的代码结构,我无法(/不想)创建一个循环,将上述格式应用于我想要以这种方式格式化的所有单元格。相反,如果我可以将上面的内容定义为变量或其他东西,例如,会很方便通过一行将其应用到 if 语句中。

If [Variable] = True Then
[Apply formatting to] CellX
End if

有人对如何以良好的方式做到这一点有任何建议吗?

最佳答案

功能怎么样。创建一个以参数为范围的函数,然后使用它。

实际上应该是sub,像这样:

Sub formatRange(CellX As Range)
With CellX
.ClearFormats
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Color = RGB(217, 217, 217)
.Interior.Color = RGB(127, 126, 130)
.Font.Name = "Arial"
.Font.Size = 8
.Font.Color = RGB(255, 255, 255)
.HorizontalAlignment = xlRight
.Font.Bold = True
End With
End Sub
Sub bla()
If [Variable] = True Then
formatRange (CellX)
End If
End Sub

关于vba - 将单元格格式/样式存储为 VBA 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50560745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com