Excel 宏 : how do I change all row heights, 但是如果 cell.value = bold 会使单元格高度变大?

标签 excel vba formatting

我正在处理已使用 格式化的一长串数据(B 列)粗体 和缩进。粗体单元格包含标题/类别名称,缩进的单元格值是子类别。

行高到处都是。一切都应该是 10.5,而 粗体单元格/行 15. 我可以将所有内容更改为 10.5,但是我需要花费大量时间滚动修改粗体行高的列表。我使用了格式刷,但它的列表很长,我不想在这部分过程上花费太多时间。现在我知道我需要对另外 30 个文档执行此操作。

有没有人有更快的方法来做到这一点?

最佳答案

Sub setHeights()
Dim targetRange As Range
Dim targetCell As Range

    Set targetRange = Range("B:B")
    For Each targetCell In targetRange
        If Not IsEmpty(targetCell) Then
            If targetCell.Font.Bold Then
                targetCell.RowHeight = 15
            ElseIf targetCell.Font.Superscript Then
                targetCell.RowHeight = 12.75
            Else
                targetCell.RowHeight = 10.5
            End If
        End If
    Next targetCell
End Sub

您可能想要更改 Range("B:B")类似于 Table1.Range("B1:B255")

关于Excel 宏 : how do I change all row heights, 但是如果 cell.value = bold 会使单元格高度变大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616610/

相关文章:

java - 如何使用 java 在 selenium webdriver 中使用 apache poi 在 excel 文件中创建新工作表

excel - 在 OS X 上使用 Go 解析 Excel 文件

vba - 如何通过 VBA 将选择范围扩展到整个段落

vba - 有没有办法设置一个变量一次并在多个地方使用它而不给它模块级别的范围?

r - 在 R 中的情节图例中有小节?

excel - Excel VBA 中出现 Double 类型溢出错误

excel - 使用Excel "IF"语句过滤掉以某个字符开头或结尾的文本

python - 如何右对齐数字数据?

excel - 将 XML 节点提取到相应标题下的表中的循环

c# - Html.HiddenFor 在 ASP.NET 中错误地格式化 DateTime