加粗多行单元格中的最后一行文本

时间:2018-01-19 22:18:26

标签: excel vba

我在这里找到了类似的问题(excel vba: make part of string bold),但是我想知道如何将它调整到给定列中每个单元格的最后一行加粗的位置。这可能吗?

简短摘要:我有一个包含2列的文件,其中存储了更新以及相应的更新日期。这是一个例子,其中所有这些都在一个单元格中输入:

12/15 - A meeting was held on 11/21 to discuss alternative solutions
12/22 - The field is going to be created at the account level
12/29 - The field is built in TEST environment, ready for operations testing
01/05 - Functionality confirmed; ready to move into PROD

在这个例子中,我需要最后一个更新行," 01/05 - 功能确认;准备进入PROD"加粗。

非常感谢任何帮助。

编辑:有没有办法更新这个,以便只有当列L不为空(意味着没有输入更新的注释)时,它才会加粗该行E列中的单元格?否则,它会移动到下一行。我有以下代码,但我经常遇到数据类型不匹配错误13.此外,我可能也错过了一些代码。

Sub BoldLastLine1()
Dim p As Long
Dim r As Range

For Each r In ActiveSheet.Range("A3:L100")
    If Len(Trim(ActiveSheet.Cells(r, 12).Value)) <> 0 Then

        p = InStrRev(r.Value, vbLf)
        If p > 0 Then
            With r.Characters(p + 1, Len(r.Value) - p).Font
                .Bold = True
                .Size = 16
            End With
        End If
    End If
Next

MsgBox ("Updates Completed.")

End Sub

1 个答案:

答案 0 :(得分:2)

您可以在单元格中找到最后一个vbLf,然后在其后加粗:

Sub BoldLastLine()
    Dim p As Long
    Dim r As Range
    For Each r In ActiveSheet.Range("A1:B10")
        p = InStrRev(r.Value, vbLf)
        If p > 0 Then
            r.Characters(p + 1, Len(r.Value) - p).Font.Bold = True
        End If
    Next
End Sub