Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使PowerPoint Combobox正确列出项目时出现问题_Vba_Combobox_Powerpoint - Fatal编程技术网

Vba 使PowerPoint Combobox正确列出项目时出现问题

Vba 使PowerPoint Combobox正确列出项目时出现问题,vba,combobox,powerpoint,Vba,Combobox,Powerpoint,我正在创建一个PowerPoint,希望用户能够在其中从组合框的列表中选择项目。在这之后什么也不需要发生,只是在屏幕上提供一个他们选择的记录 我的问题是,我似乎能够填充组合框,用户可以选择一个项目,但每次单击组合框时列表都会变长(即,每次单击组合框时列表都会重复)。或者,我可以清除组合框,然后填充它,但在这种情况下,用户的选择似乎也被清除 VBA示例1: Private Sub ComboBox1_DropButtonClick() With ComboBox1 .AddItem " ", 0

我正在创建一个PowerPoint,希望用户能够在其中从组合框的列表中选择项目。在这之后什么也不需要发生,只是在屏幕上提供一个他们选择的记录

我的问题是,我似乎能够填充组合框,用户可以选择一个项目,但每次单击组合框时列表都会变长(即,每次单击组合框时列表都会重复)。或者,我可以清除组合框,然后填充它,但在这种情况下,用户的选择似乎也被清除

VBA示例1:

Private Sub ComboBox1_DropButtonClick()
With ComboBox1
.AddItem " ", 0
.AddItem "speed", 1
.AddItem "provisionality", 2
.AddItem "automation", 3
.AddItem "replication", 4
.AddItem "communicability", 5
.AddItem "multi-modality", 6
.AddItem "non-linearity", 7
.AddItem "capacity", 8
.AddItem "interactivity", 9
End With
End Sub
VBA示例2:

Private Sub ComboBox1_DropButtonClick()
ComboBox1.Clear
With ComboBox1
.AddItem " ", 0
.AddItem "speed", 1
.AddItem "provisionality", 2
.AddItem "automation", 3
.AddItem "replication", 4
.AddItem "communicability", 5
.AddItem "multi-modality", 6
.AddItem "non-linearity", 7
.AddItem "capacity", 8
.AddItem "interactivity", 9
End With
End Sub

有人能帮忙吗?

因为您的代码在DropButtonClick事件中,所以每次单击下拉列表时,这些项目都会添加到您的组合框中。尝试添加一些代码,以检查组合框在添加项目之前是否已填充:

Private Sub ComboBox1_DropButtonClick()

    If ComboBox1.ListCount = 0 Then
        With ComboBox1
            .AddItem " ", 0
            .AddItem "speed", 1
            .AddItem "provisionality", 2
            .AddItem "automation", 3
            .AddItem "replication", 4
            .AddItem "communicability", 5
            .AddItem "multi-modality", 6
            .AddItem "non-linearity", 7
            .AddItem "capacity", 8
            .AddItem "interactivity", 9
        End With
    End If

End Sub
然后,您不必清除组合框,也不必同时清除所选项目