Found this vb regex code online which returns the first regex match.ExcelでVBを使用する。 Regexのマッチを複数のマッチから返すにはどうすればよいですか?
変更された.global = true。今、最初の一致ではなく、最高値の数値一致を返す関数を取得するにはどうすればよいですか?
おかげ
Found this vb regex code online which returns the first regex match.ExcelでVBを使用する。 Regexのマッチを複数のマッチから返すにはどうすればよいですか?
変更された.global = true。今、最初の一致ではなく、最高値の数値一致を返す関数を取得するにはどうすればよいですか?
おかげ
最高の数値の一致を得るには、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
私はあなたが最高値で何を意味するかわからないんだけど、あなたは数値を取り戻すしている場合は、ちょうどに新たに以前のチェック、試合を通じて「最大」変数とループを作成しますどちらが大きいかを知る(値のリストからMAXを得る古い方法)。
1をテストしてみてください「昔ながらの方法は、」唯一の方法私の知る限りです:) –
(のような配列と実行を作成遅く、より複雑であることを確認するものがありますworksheetfunction.max on):p – aevanko
はい、私はそれをエンジニアリングと呼んでいます:P –