vba regular expression - left and mid value

Mallesh23

Well-known Member
Joined
Feb 4, 2009
Messages
958
Office Version
  1. 2010
Platform
  1. Windows
Hi Team,

Please suggest Regular expression Pattern Just for learning purpose

after split I can get it. its just for learning purpose. Can someone assist thanks.



1) Find Company_Name always comes left side of Company. --------- expected AAABB
AAABB Company


2)1) Find Currency and Product. expected USD and LAPTOP

xxx LAPTOP USD 'Situation 1 -------------->
LAPTOP USD 'Situation2


Thanks
mg
 

Excel Facts

Waterfall charts in Excel?
Office 365 customers have access to Waterfall charts since late 2016. They were added to Excel 2019.

Zot

Well-known Member
Joined
Nov 26, 2020
Messages
1,584
Office Version
  1. 2016
Platform
  1. Windows
Try these:

1) \b(?!Company\b)\w+

2) \b(LAPTOP\s)(\w+)
 

Mallesh23

Well-known Member
Joined
Feb 4, 2009
Messages
958
Office Version
  1. 2010
Platform
  1. Windows
Hi Zot,

Thanks for your help, how to Read this pattern.

\b(?!Company\b)\w+


Thanks
mg
 

Zot

Well-known Member
Joined
Nov 26, 2020
Messages
1,584
Office Version
  1. 2016
Platform
  1. Windows
Hi Zot,

Thanks for your help, how to Read this pattern.

\b(?!Company\b)\w+


Thanks
mg
Not sure what you meant to ask. This is looking for word Company and if found discard it and take the word before it. For string
AAABB Company

The execution will result in AAABBB

Is this what you meant? If you provide sheet sample using XL2BB then perhaps many helpers here can provide sample code if I'm no replying fast enough 😁
 

Zot

Well-known Member
Joined
Nov 26, 2020
Messages
1,584
Office Version
  1. 2016
Platform
  1. Windows

ADVERTISEMENT

Okay. Try this. I put string below in Range("A1")
AAABB Company

The code to run
VBA Code:
Sub Test()

Dim strTest As String
Dim ws As Worksheet
Dim strResult As Object, RegEx As Object

Set RegEx = CreateObject("VBScript.RegExp")
Set ws = ActiveWorkbook.Sheets("Sheet1")

strTest = ws.Range("A1")

With RegEx
    .Pattern = "\b(?!Company\b)\w+"
    .Global = True
    Set strResult = .Execute(strTest)
End With

Debug.Print strResult(0)

End Sub
 

Mallesh23

Well-known Member
Joined
Feb 4, 2009
Messages
958
Office Version
  1. 2010
Platform
  1. Windows
Hi Zot,

Thanks for your help it worked. 🕺 🕺


Thanks
mg
 

Peter_SSs

MrExcel MVP, Moderator
Joined
May 28, 2005
Messages
50,618
Office Version
  1. 365
Platform
  1. Windows

ADVERTISEMENT

What if the company name contains more than one word?
More sample data & expected results would be useful.
 

Mallesh23

Well-known Member
Joined
Feb 4, 2009
Messages
958
Office Version
  1. 2010
Platform
  1. Windows
Hi Peter,

I dint noticed,, Yes its picking any left value.

Can we limit Just left of Company. thanks for help. just learning.




Thanks
mg
 

Forum statistics

Threads
1,141,402
Messages
5,706,232
Members
421,433
Latest member
yash0468

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top