You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Excel用户窗体中ListView控件的表头设置为加粗样式?

如何将Excel用户窗体中ListView控件的表头设置为加粗样式?

嗨,刚接触VBA的话确实容易在控件格式设置上卡壳,不过给ListView表头加加粗样式其实很简单,咱们直接在你现有的代码里调整就行~

首先你要知道,ListView的表头(ColumnHeaders)本身就带有Font属性,咱们只要把这个属性里的Bold设为True就能实现加粗效果。下面给你两种可行的修改方式,你选一种用就行:

方式一:添加表头时直接设置加粗

在你循环添加表头的代码里,用With语句包裹添加操作,顺便设置加粗:

Private Sub UserForm_Activate()
    Dim ws As Worksheet
    Dim tbl As ListObject
    Dim lv As ListItem
    Dim i As Integer, n As Integer

    Set ws = ThisWorkbook.Worksheets("Sheet1")
    Set tbl = ws.ListObjects("MySales")

    With Me.lvRec
        .Gridlines = True
        .HoverSelection = True
        .View = lvwReport ' 必须设为报表视图才会显示表头,你已经加了这点很棒
    End With
    
    'Add column headers 同时设置加粗
    For i = 1 To tbl.ListColumns.Count
        With Me.lvRec.ColumnHeaders.Add(, , tbl.ListColumns(i).Name)
            .Font.Bold = True ' 这里就是让表头变粗的关键代码
        End With
    Next i
    
    ' 填充列表内容
    With tbl.Range
        For i = 2 To .Rows.Count
            Set lv = Me.lvRec.ListItems.Add(, , tbl.Range.Cells(i, 1).Text)
            For n = 2 To .Columns.Count
                lv.ListSubItems.Add(, , tbl.Range.Cells(i, n).Text)
            Next n ' 你之前的代码这里没写完,记得补上
        Next i
    End With
End Sub

方式二:添加完所有表头后统一设置

如果你已经添加好了表头,也可以单独循环所有表头项来设置加粗,把这段代码放在添加表头的循环之后就行:

' 单独设置表头加粗
Dim colHeader As ColumnHeader
For Each colHeader In Me.lvRec.ColumnHeaders
    colHeader.Font.Bold = True
Next colHeader

需要注意的是,一定要确保ListView的View属性是lvwReport,不然表头根本不会显示出来,你代码里已经设置了这一点,非常到位~

备注:内容来源于stack exchange,提问作者Leko

火山引擎 最新活动