Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I need to extract the numbers from a given cell to an adjacent cell.
Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
hi,
Because your numbers and text are mixed then this may do whay you require. Right click the sheet tab, view code and paste this in:- Sub extractnumbers() Dim RegExp As Object, Collection As Object, RegMatch As Object Dim Myrange As Range, C As Range, Outstring As String Set RegExp = CreateObject("vbscript.RegExp") With RegExp .Global = True .Pattern = "\d" End With Set Myrange = ActiveSheet.Range("a1:a100") 'change to suit For Each C In Myrange Outstring = "" Set Collection = RegExp.Execute(C.Value) For Each RegMatch In Collection Outstring = Outstring & RegMatch Next C.Offset(0, 1) = Outstring Next Set Collection = Nothing Set RegExp = Nothing Set Myrange = Nothing End Sub Mike "Get Numbers" wrote: I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
That worked, thank you very much
"Mike H" wrote: hi, Because your numbers and text are mixed then this may do whay you require. Right click the sheet tab, view code and paste this in:- Sub extractnumbers() Dim RegExp As Object, Collection As Object, RegMatch As Object Dim Myrange As Range, C As Range, Outstring As String Set RegExp = CreateObject("vbscript.RegExp") With RegExp .Global = True .Pattern = "\d" End With Set Myrange = ActiveSheet.Range("a1:a100") 'change to suit For Each C In Myrange Outstring = "" Set Collection = RegExp.Execute(C.Value) For Each RegMatch In Collection Outstring = Outstring & RegMatch Next C.Offset(0, 1) = Outstring Next Set Collection = Nothing Set RegExp = Nothing Set Myrange = Nothing End Sub Mike "Get Numbers" wrote: I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
In addition to the source values:
almJAL_001 almYFI_1020A_1 Can you let us know what the end result should be? 001? or...1? 1020? or...1020A1? or....10201? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" <Get wrote in message ... I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
001
1020 "Ron Coderre" wrote: In addition to the source values: almJAL_001 almYFI_1020A_1 Can you let us know what the end result should be? 001? or...1? 1020? or...1020A1? or....10201? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" <Get wrote in message ... I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
001
1020 Hi. Same idea as Mike's, but this idea only returns the first set of numbers, and converts the number 1 (001) to a string to keep it the string 001. This works on a Selection. Sub FirstNumbersOnly() Dim RegExp As Object Dim Numbers As Object Dim Cell As Range Dim PreChar As String 'Force String Set RegExp = CreateObject("Vbscript.RegExp") PreChar = Chr(39) With RegExp .Global = True .Pattern = "\d+" For Each Cell In Selection.Cells If .Test(Cell.Value) Then Set Numbers = .Execute(Cell.Value) Cell(1, 2) = PreChar & Numbers(0) Else Cell(1, 2) = vbNullString End If Next Cell End With Set Numbers = Nothing Set RegExp = Nothing End Sub -- Dana DeLouis "Get Numbers" wrote in message ... 001 1020 "Ron Coderre" wrote: In addition to the source values: almJAL_001 almYFI_1020A_1 Can you let us know what the end result should be? 001? or...1? 1020? or...1020A1? or....10201? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" <Get wrote in message ... I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
thank you worked perfectly
"Dana DeLouis" wrote: 001 1020 Hi. Same idea as Mike's, but this idea only returns the first set of numbers, and converts the number 1 (001) to a string to keep it the string 001. This works on a Selection. Sub FirstNumbersOnly() Dim RegExp As Object Dim Numbers As Object Dim Cell As Range Dim PreChar As String 'Force String Set RegExp = CreateObject("Vbscript.RegExp") PreChar = Chr(39) With RegExp .Global = True .Pattern = "\d+" For Each Cell In Selection.Cells If .Test(Cell.Value) Then Set Numbers = .Execute(Cell.Value) Cell(1, 2) = PreChar & Numbers(0) Else Cell(1, 2) = vbNullString End If Next Cell End With Set Numbers = Nothing Set RegExp = Nothing End Sub -- Dana DeLouis "Get Numbers" wrote in message ... 001 1020 "Ron Coderre" wrote: In addition to the source values: almJAL_001 almYFI_1020A_1 Can you let us know what the end result should be? 001? or...1? 1020? or...1020A1? or....10201? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" <Get wrote in message ... I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
If formulas are acceptable....
With A1 containing the source text Try this ARRAY FORMULA (commited with CTRL+SHIFT+ENTER,instead of just ENTER), in 2 sections for readability. B1: =MID(A1,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A1&"01234 56789")), MAX(MATCH(FALSE,ISNUMBER(--MID(A1,8+ROW($1:$20)-1,1)),0)-1,1)) Is that something you can work with? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" wrote in message ... 001 1020 "Ron Coderre" wrote: In addition to the source values: almJAL_001 almYFI_1020A_1 Can you let us know what the end result should be? 001? or...1? 1020? or...1020A1? or....10201? -------------------------- Regards, Ron Microsoft MVP (Excel) (XL2003, Win XP) "Get Numbers" <Get wrote in message ... I need to extract the numbers from a given cell to an adjacent cell. Examples of cell values below. almJAL_001 almYFI_1020A_1 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
add multiple numbers in one cell with those numbers remaining visi | Excel Worksheet Functions | |||
how to extract numbers from imported cell with text and numbers? | Excel Discussion (Misc queries) | |||
Help! How do you get excel to find the x(changes daily, marked in a cell from another formula) highest numbers in a group of numbers and sum them up? | Excel Worksheet Functions | |||
Help! How do you get excel to find the x(changes daily, marked in a cell from another formula) highest numbers in a group of numbers and sum them up? | Excel Worksheet Functions | |||
Populating a cell with numbers without numbers being formula-based?? | Excel Programming |