双击单元格时,VBA设置的单元格的部分粗体会随机更改

时间:2020-04-27 08:15:43

标签: excel vba

我使用VBA代码在多行单元格中加粗文本片段。一切正常,除了在设置了粗体之后双击单元格时,粗体“跳”了右边一个字符,如下图所示:

enter image description here

这是我用来加粗日期的代码片段:

rng.Characters(Start:=lngStart, Length:=lngEnd).Font.Bold = True

我有种直觉,认为这可能与换行符有关。我使用与Chr(10)的串联来创建它们。 (例如strLine1 & Chr(10) & strLine2)。

我正在运行Office 365,Excel版本1908。

编辑:

这是我用来加粗单元格的代码:

Public Sub BoldActionDates(lsoTarget As ListObject, strColumnName As String, lngDataRow As Long)

    Const LNG_LENGTH_DATE_STRING As Long = 10

    Dim colStartingPoints As Collection
    Dim varIndex As Variant
    Dim rngAction As Range

    Set rngAction = lsoTarget.ListColumns(strColumnName).DataBodyRange(lngDataRow)
    Set colStartingPoints = GetStartingPointsDateStrings(rngAction.Value)
    If colStartingPoints.Count = 0 Then Exit Sub

    rngAction.Font.Bold = False
    For Each varIndex In colStartingPoints
        rngAction.Characters(Start:=CLng(varIndex), Length:=LNG_LENGTH_DATE_STRING).Font.Bold = True
    Next varIndex

End Sub

GetStartingPointsDateStrings返回一个Collection,其中包含起点的值,例如对于上面显示的示例,集合看起来像这样:

enter image description here

此外,工作表中没有BeforeDoubleClick-Event,只有一个与BeforeRightClick不相关的事件。

0 个答案:

没有答案