从列表中删除某些项目

时间:2020-07-01 07:28:45

标签: excel vba

我有这段代码将查找某个工作表的列,并用一个不同的值填充组合框。我的问题是,我需要删除特定值之一。请您帮忙!

例如:

{ Converts a string formatted like 'hh:mm:ss' to seconds.
  Returns -1 is the string does not contain a valid time. 

    StringToSeconds('00:01:30')     // returns 90 (sec)
    StringToSeconds('01:30')        // returns 5400 (sec)
    StringToSeconds('10')           // returns 864000 (sec)
    StringToSeconds('1.30')         // returns -1
    StringToSeconds('x')            // returns -1                           }

function StringToSeconds(CONST s: String): integer;
VAR
  TimeSpan: TTimeSpan;
begin
  TRY
   TimeSpan:= System.TimeSpan.TTimeSpan.Parse(s);
   Result := round(TimeSpan.TotalSeconds);
  EXCEPT
   Result:= -1;
  end;
end;

根据下面的代码,组合框将填充a,b,c

a
b
c
a
b

我想知道是否有什么办法让我说从列表中删除“ b”。预先感谢!

1 个答案:

答案 0 :(得分:2)

如果您不想在列表中使用特定值,只需在填充ComboBox时将其排除即可-例如If x = 1 AND c <> "B" Then

如果以后要从组合框中删除条目,则可以使用方法RemoveItem。以下例程循环遍历该框的所有条目,搜索字符串并将其删除。可通过属性List访问这些条目,索引从0开始。

Sub removeFromCombo(c As String)
    Dim i As Integer
    With Me.Cmb2
        For i = .ListCount - 1 To 0 Step -1
            If .List(i) = c Then .RemoveItem i
        Next i
        If .Value = c Then .Value = ""
    End With
End Sub
相关问题