在Excel中更改单个列表框项目字体

时间:2012-06-08 06:33:52

标签: excel vba excel-vba excel-2007

我想更改列表框中单个项目的属性。我目前让用户从列表框中选择一个项目,然后将其作为参数传递进行处理。我希望能够从列表中删除项目,或者更好的是,更改字体,以便他们可以看到哪些项目必须处理,哪些项目已经完成。

我有以下代码:

Sub updateLaunchScreen_CrossDayOff()

Dim i As Long

     With ReadingsLauncher

        With .dayListBox
            For i = 0 To .ListCount - 1
                If .Selected(i) Then
                    .Font.Strikethrough = True
                End If
            Next i
        End With

    End With

End Sub

但是,这会更改列表中的每个项目。

我已经搜索了该问题,但未能找到任何与更改列表框中单个列表项的属性有关的内容。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

  

我希望能够从列表中删除项目

如果你想删除该项目,我会建议

Option Explicit

Private Sub CommandButton1_Click()
    If ListBox1.ListIndex > -1 Then
        ListBox1.RemoveItem (ListBox1.ListIndex)
    End If
End Sub
  

或者更好的是,更改字体,以便他们可以看到哪些项目必须处理,哪些项目已经完成。

如果您想查看已处理的项目,则可以使用此选项。

使用复选框选项使列表框成为MultiSelect列表框。请参见快照

enter image description here

要获得此类型的列表框,您可以在设计时或运行时设置属性。例如

设计时间

enter image description here

运行时间

Private Sub UserForm_Initialize()
    With ListBox1
        .MultiSelect = fmMultiSelectMulti
        .ListStyle = fmListStyleOption
    End With
End Sub