Forum Discussion
rodsan724
Sep 30, 2021Copper Contributor
Excel VBA VB 5.5 REGEX - help getting count and value
Given the following contents in A1 cell: Log file , target1 = 1234, blah , target1 = 5678, blah Is there a way to use VB 5.5 Regex to get count of "target1" and the value for the latter targ...
- Oct 01, 2021
You may try the following functions...
To get the Count:
Function getTargetCount(ByVal str As String) As Long Dim Matches As Object With CreateObject("VBScript.RegExp") .Global = True .ignorecase = True .Pattern = "target1 = (\d+)" If .test(str) Then Set Matches = .Execute(str) getTargetCount = Matches.Count Else getTargetCount = 0 End If End With End Function
To get the Last Value of Target:
Function getTargetValue(ByVal str As String) As Long Dim Matches As Object With CreateObject("VBScript.RegExp") .Global = True .ignorecase = True .Pattern = "target1 = (\d+)" If .test(str) Then Set Matches = .Execute(str) getTargetValue = Matches(Matches.Count - 1).submatches(0) End If End With End Function
Then you may either use these functions in another code or as regular Excel functions on the worksheet itself.
rodsan724
Oct 01, 2021Copper Contributor
Thank you so much!
Subodh_Tiwari_sktneer
Oct 02, 2021Silver Contributor
You're welcome rodsan724! Glad I could help.
- rodsan724Oct 02, 2021Copper Contributor
Subodh_Tiwari_sktneer, is it possible to add these functions to a PowerQuery that I have connected to a database?
- SergeiBaklanOct 02, 2021MVP
Nope, but Power Query has other options to do the same.