gpt4 book ai didi

vba - 尝试从已填充的 Combobox VBA 中删除特定项目

转载 作者:行者123 更新时间:2023-12-04 20:06:26 27 4
gpt4 key购买 nike

在 VBA 中,我正在编写一个代码,该代码根据用户表单中的初始输入收集信息。

从最初的入口点我要代码走出去,找到对应的数据并添加。我有这一切运作良好。

但我正在从数据透视表中收集数据,如果 数据透视表打开它返回“”空格,“(空白)”和“总计”,我想摆脱 .

我当前的代码是:

lcomboCount = Sheets(pt).PivotTables("Pivottable1").TableRange2.Rows.Count
For i = 1 To lcomboCount
datapoint = Sheets(pt).PivotTables("PivotTable1").PivotFields("combo").LabelRange.Offset(i, 0).Value
UserForm1.ComboBox.AddItem Sheets(pt).PivotTables("PivotTable1").PivotFields("combo").LabelRange.Offset(i, 0)
Next i
For i = 0 To Me.ComboBox.ListCount - 1
If Me.ComboBox = "" Or Me.ComboBox = "Grand Total" Or Me.ComboBox = ("(blank)") Then
Me.ComboBox.RemoveItem (i)
End If
Next i

我有一个 Msgbox有一次在那里查看我的值是否正确读取并且它们是正确的。

最佳答案

你只需要.List(i)当您测试存储到 ComboBox 中的值时。

我还更改了第二个循环的“方向”(有关详细信息,请参阅第二条评论)以避免丢失项目。

这是您修改后的代码:

lcomboCount = Sheets(pt).PivotTables("PivotTable1").TableRange2.Rows.Count
For i = 1 To lcomboCount
datapoint = Sheets(pt).PivotTables("PivotTable1").PivotFields("combo").LabelRange.Offset(i, 0).Value
UserForm1.ComboBox.AddItem datapoint
Next i
For i = Me.ComboBox.ListCount - 1 To 0 Step -1
If Me.ComboBox.List(i) = "" Or Me.ComboBox.List(i) = "Grand Total" Or Me.ComboBox.List(i) = ("(blank)") Then
Me.ComboBox.RemoveItem (i)
End If
Next i

关于vba - 尝试从已填充的 Combobox VBA 中删除特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430990/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com