在VB中使用for循环和if语句

时间:2014-07-03 20:19:41

标签: vba if-statement for-loop

我正在尝试编写一个从1到125的for循环并根据每个数字*执行相同的操作,除非它是8个数字中的1个(24,48,63,75,104,110,114, 119)在这种情况下它什么都不做。除了在for循环之后写一个if语句,而不是:

If g <> 24 and g <> 48 and... and g <> 119 Then 
   Do stuff
End If

是否有更简洁的方法让代码完成我想要的工作?

3 个答案:

答案 0 :(得分:1)

为了更清楚地了解发生了什么,您可以使用Select Case:

Select Case g
    Case 24, 48, 63, 75, 104, 110, 114, 119
        ' do nothing
    Case Else
        ' do stuff
End Select

答案 1 :(得分:1)

Select Case是一种很好的方法

  Dim i As Integer

  For i = 1 To 125
    Select Case i
      Case 24, 48, 63, 75, 104, 110, 114, 119
        'skip
      Case Else
        'your code
    End Select
  Next

答案 2 :(得分:-1)

您可以使用异常创建一个列表(数组),如果索引包含在数组中,则检查for循环,然后跳过该索引的操作。

伪代码(c#)

list = new List(){24, 48, 63, 75};

for(int=index; index<=125; index++)
{   
  if(list.Contains(index))
    continue;

  // Do some operation
}