vba - 将单元格格式/样式存储为 VBA 中的变量
问题描述
我正在尝试一种简单的方法来格式化在 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 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
推荐阅读
- data-cleaning - 数据框单元格内重复数据的数据清理
- javascript - 如何使固定元素成为条形?
- ndepend - 如何使用 NDepend 计算方法的度量响应
- javascript - 当 Jinja 模板用于向 onclick 函数提供多个参数时,“输入意外结束”
- android - Android 动画 - 为什么 fromXDelta 有负值?
- node.js - Node.js - 导入第三方库时出错
- flutter - 无论如何我可以显示一个 Stack 小部件的所有内容,它有一个动态创建的定位小部件列表作为它的孩子?
- javascript - 正则表达式匹配 C# 和 javascript 中的 end_of_line/newline 差异
- adsense - 如果在我的 AdSense 主页上找不到 PIN 验证卡,如何验证 Adsense PIN?
- node.js - 在 Alexa 中访问 Firebase 的 Firestore 数据库时,意图请求超时