1

私のコードのこの行は私に与えます: エラー 13: タイプの不一致 "nd" ステートメントを "or" で結合するにはどうすればよいですか? 例: a または b または c または (d と e) または (f と g) の場合

ここにコードがあります

If (cell.Value) = "FTV1" _
         Or (cell.Value) = "FTV2" _
         Or (cell.Value) = "FTV3" _
         Or (cell.Value) = "FTV4" _
         Or (cell.Value) = "FTV5" _
         Or (cell.Value) = "ISTCR" _
         Or (cell.Value) = "CAST" _
         Or (cell.Value) = "Rig" _
         Or (cell.Value) > 50000 And (cell.Value) < 52000 _
         Or (cell.Value) > 55000 And (cell.Value) < 56000 Then

前もって感謝します

4

2 に答える 2

0

別のステートメントをネストしたり、このステートメント内にネストしたりAndしないと、条件が少しトリッキーになりますが、文字列または整数/長い値のいずれかを扱っていると仮定すると、これは機能するはずです (テスト済み)。Select CaseIf/Then

Select Case cell.Value
    Case "FTV2", "FTV3", "FTV4", "FTV5", _
         "ISTCR", "CAST", "Rig", _
         50001 To 51999, 55001 To 55999

        'Do your code or call subroutine/function, here.

    Case Else

        'Do other code, or, do nothing, if the above criteria not met.

End Select

double/decimal データ型を使用している場合は、次のように修正する必要があるかもしれません (未テスト):

Select Case cell.Value
    Case "FTV2", "FTV3", "FTV4", "FTV5", _
         "ISTCR", "CAST", "Rig", _
         50000 to 56000

         If (Not IsNumeric(cell.Value)) Or _
            (50000 < cell.Value < 52000) Or _
            (55000 < cell.Value < 56000) Then

            'Do your code or call subroutine/function, here.

         End If
    Case Else

        'Do other code, or, do nothing, if the above criteria not met.

End Select
于 2013-07-18T02:14:12.247 に答える