Select Case 语句 - IF 语句 - 定义数组 - VBA

Posted

技术标签:

【中文标题】Select Case 语句 - IF 语句 - 定义数组 - VBA【英文标题】:Select Case statement - IF statement - define array - VBA 【发布时间】:2016-06-15 20:09:30 【问题描述】:

我想根据年龄变量的值定义新的数组。我是 VBA 新手,这是我的代码不起作用。我没有错误信息。我想知道为什么数组没有从这段代码中获得任何价值!

Select Case num
   Case 24 To 55
       Arr_Num3554 = 1
        Case Else
       Arr_Num3554 = 0
   End Select

Select Case Num
   Case 54 To 75
       Arr_Num5574 = 1
        Case Else
       Arr_Num5574 = 0
   End Select

Select Case Num
   Case 75 To 100
       Arr_Num74plus= 1
        Case Else
       Arr_Num74plus= 0
   End Select

我也尝试过 IF 语句。我又遇到了同样的问题

If 24 < Num < 55 Then Arr_Num3554 = 1 Else Arr_Num3554 = 0
If 54 < Num < 75 Then Arr_Num5574 = 1 Else Arr_Num5574 = 0
If 75 < Num Then Arr_Num74plus = 1 Else Arr_Num74plus = 0

【问题讨论】:

为什么您的案例标准重叠? 刚刚更正了。 【参考方案1】:

通常当您使用数组时,您需要重新调整(数组变量) - ReDim Arr_Num3554(1)

【讨论】:

【参考方案2】:

您的代码甚至可以编译吗?试试这个,并注意@Lowpar 的评论:

Select Case num
   Case 24 To 55
       Arr_Num3554 = 1
        Case Else
       Arr_Num3554 = 0

   Case 54 To 75
       Arr_Num5574 = 1
        Case Else
       Arr_Num5574 = 0

   Case 75 To 100
       Arr_Num74plus= 1
        Case Else
       Arr_Num74plus= 0

End Select

【讨论】:

以上是关于Select Case 语句 - IF 语句 - 定义数组 - VBA的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 - SELECT 子句中的 Case / If 语句 [重复]

vb中啥情况用If 和case语句有啥区别

golang函数 和 条件语句

select case when if 的一些用法

SQL Server判断语句(IF ELSE/CASE WHEN )

case语句用法 case语句怎么用