2012-02-09 4 views

答えて

1

最高の数値の一致を得るには、Issunの提案した一致のコレクションをループする必要があります。この

をしようとした

Sub Sample() 
    Dim strgToTest As String 
    Dim hVal As Long 

    strgToTest = "1 2 3 44 55 66 77 a b c 5 6 88" 

    Set re = New RegExp 
    re.Pattern = "\b[0-9]+\b" 
    re.Global = True 

    Set Matches = re.Execute(strgToTest) 

    If Matches.Count > 0 Then 
     For Each Match In Matches 
      If Val(Match.Value) > hVal Then hVal = Val(Match.Value) 
     Next 
     MsgBox hVal 
    Else 
     MsgBox "No Match Found" 
    End If 
End Sub 
1

私はあなたが最高値で何を意味するかわからないんだけど、あなたは数値を取り戻すしている場合は、ちょうどに新たに以前のチェック、試合を通じて「最大」変数とループを作成しますどちらが大きいかを知る(値のリストからMAXを得る古い方法)。

+0

1をテストしてみてください「昔ながらの方法は、」唯一の方法私の知る限りです:) –

+0

(のような配列と実行を作成遅く、より複雑であることを確認するものがありますworksheetfunction.max on):p – aevanko

+0

はい、私はそれをエンジニアリングと呼んでいます:P –