2016-08-03 20 views
1
例えば

、私は2個の数字0、1のリストを持っていると私はこのように書きVBAでスクリプトを実行したい:VBA - リストに類似したものはありますか?

つまり、私は最初の「0」かどうかを確認したいが、いくつかの文字列である
for i in list: 
    if i in string: 
     do something 
    end if 

次に、何かをして、 "1"が文字列にあるかどうかをチェックして、何かを行うなどです。Pythonではタプル["0"、 "1"]を持っていますが、 VBAで?

答えて

4

このような意味ですか?

Dim list As Variant 
Dim someString As String 

someString = "1289" 
list = Array("0", "1", "2", "3") 

For Each i In list 
    If InStr(someString, i) Then 
     '// Do Something 
    End If 
Next 

ボーナスノート:

InStr() doesnのあなたは同様に

For Each i In Array("0", "1", "2", "3") 
    If InStr("1289", i) Then 
     '// Do Something 
    End If 
Next 

(私は技術的はデータ型が定義されていないタプルであると仮定)のアレイを使用することができます実際にはTrue/Falseを返します。それは、左から右へ読む別の文字列内の部分文字列の開始位置を返します。しかし、このケースでは、VBAの暗黙の変換を使用して0Trueと評価することができます。これはIfステートメントで使用されているためです。

+0

まあ、ありがとう! – user33484

+0

ちょっと疑問ですが、私が言いたいのは、配列の3番目の項目です。どうすればいいですか? – user33484

+0

'MsgBox list(2)'(配列はVBAではデフォルトでゼロベースなので、2は実際には3番目の項目です) –

関連する問題