2016-06-15 4 views
0

年齢変数の値に応じて新しい配列を定義します。私はVBAの初心者です。ここでは動作しないコードがあります。エラーメッセージはありません。私はなぜ配列がこのコードから何の価値も得られないのだろうかと思っていました!Select Case文 - IF文 - define array - 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文を試してみました。再び私は同じ問題を抱えているあなたはarrraysを使用する場合

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 
+2

あなたのケース基準が重複するのはなぜですか? – Jeeped

+0

を修正しました。 – Zapata

答えて

1

は通常、あなたが(配列変数)をREDIMする必要がある - ReDimステートメントArr_Num3554(1)

1

あなたのコードはコンパイルさえしていますか?代わりにこれを試してみて、@ 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