ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   extract right side of string (https://www.excelbanter.com/excel-programming/419783-extract-right-side-string.html)

SteveDB1

extract right side of string
 
Morning all.

I have a data set that I want to extract the right side from.
Here's an example of the data.

02-243-02 - 0.14
02-243-03 - 0.16
.........
......
.......
where the periods are the continuation of the 7 digits, and the numeric
values to the right. The data set is approx.
100 items, and I'd like to place the numeric values in the cell to the right
of the 7 digit numbers on the left.

I've tried the following, and get a type mismatch error.

Sub ExtractRight()
v = ActiveCell.value
s = Right(v, 4)
For i = LBound(s) To UBound(s)
ActiveCell.Offset(i + 1, 1).value = s(i)
Next
End Sub

I'm figuring that I get the error because right() and my limits don't work
with each other.

How can I accomplish my goal?
Thank you.
Best,
SteveB.


Gary''s Student

extract right side of string
 
Sub steve()
Dim v As String, val As Double
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Morning all.

I have a data set that I want to extract the right side from.
Here's an example of the data.

02-243-02 - 0.14
02-243-03 - 0.16
........
.....
......
where the periods are the continuation of the 7 digits, and the numeric
values to the right. The data set is approx.
100 items, and I'd like to place the numeric values in the cell to the right
of the 7 digit numbers on the left.

I've tried the following, and get a type mismatch error.

Sub ExtractRight()
v = ActiveCell.value
s = Right(v, 4)
For i = LBound(s) To UBound(s)
ActiveCell.Offset(i + 1, 1).value = s(i)
Next
End Sub

I'm figuring that I get the error because right() and my limits don't work
with each other.

How can I accomplish my goal?
Thank you.
Best,
SteveB.


SteveDB1

extract right side of string
 
Gary's Student,
Thank you for the response.
It does work, now what will it take to repeat it to the end of my data?

I have approximately 100 data points that I need to repeat this to the end of.

I tried placing a

for i = 1 to range(activecell.column).end(xldown)

and it returns an error- method of range object- global failed.

Thank you for your help.


"Gary''s Student" wrote:

Sub steve()
Dim v As String, val As Double
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Morning all.

I have a data set that I want to extract the right side from.
Here's an example of the data.

02-243-02 - 0.14
02-243-03 - 0.16
........
.....
......
where the periods are the continuation of the 7 digits, and the numeric
values to the right. The data set is approx.
100 items, and I'd like to place the numeric values in the cell to the right
of the 7 digit numbers on the left.

I've tried the following, and get a type mismatch error.

Sub ExtractRight()
v = ActiveCell.value
s = Right(v, 4)
For i = LBound(s) To UBound(s)
ActiveCell.Offset(i + 1, 1).value = s(i)
Next
End Sub

I'm figuring that I get the error because right() and my limits don't work
with each other.

How can I accomplish my goal?
Thank you.
Best,
SteveB.


Gary''s Student

extract right side of string
 
Select the top cell to be processed and:

Sub steve()
Dim v As String, val As Double
While ActiveCell.Value < ""
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
ActiveCell.Offset(1, 0).Select
Wend
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Gary's Student,
Thank you for the response.
It does work, now what will it take to repeat it to the end of my data?

I have approximately 100 data points that I need to repeat this to the end of.

I tried placing a

for i = 1 to range(activecell.column).end(xldown)

and it returns an error- method of range object- global failed.

Thank you for your help.


"Gary''s Student" wrote:

Sub steve()
Dim v As String, val As Double
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Morning all.

I have a data set that I want to extract the right side from.
Here's an example of the data.

02-243-02 - 0.14
02-243-03 - 0.16
........
.....
......
where the periods are the continuation of the 7 digits, and the numeric
values to the right. The data set is approx.
100 items, and I'd like to place the numeric values in the cell to the right
of the 7 digit numbers on the left.

I've tried the following, and get a type mismatch error.

Sub ExtractRight()
v = ActiveCell.value
s = Right(v, 4)
For i = LBound(s) To UBound(s)
ActiveCell.Offset(i + 1, 1).value = s(i)
Next
End Sub

I'm figuring that I get the error because right() and my limits don't work
with each other.

How can I accomplish my goal?
Thank you.
Best,
SteveB.


SteveDB1

extract right side of string
 
bingo.....
Another satisfied customer-- thank you.


"Gary''s Student" wrote:

Select the top cell to be processed and:

Sub steve()
Dim v As String, val As Double
While ActiveCell.Value < ""
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
ActiveCell.Offset(1, 0).Select
Wend
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Gary's Student,
Thank you for the response.
It does work, now what will it take to repeat it to the end of my data?

I have approximately 100 data points that I need to repeat this to the end of.

I tried placing a

for i = 1 to range(activecell.column).end(xldown)

and it returns an error- method of range object- global failed.

Thank you for your help.


"Gary''s Student" wrote:

Sub steve()
Dim v As String, val As Double
v = ActiveCell.Value
val = Right(v, 4)
ActiveCell.Offset(0, 1).Value = val
End Sub
--
Gary''s Student - gsnu200812


"SteveDB1" wrote:

Morning all.

I have a data set that I want to extract the right side from.
Here's an example of the data.

02-243-02 - 0.14
02-243-03 - 0.16
........
.....
......
where the periods are the continuation of the 7 digits, and the numeric
values to the right. The data set is approx.
100 items, and I'd like to place the numeric values in the cell to the right
of the 7 digit numbers on the left.

I've tried the following, and get a type mismatch error.

Sub ExtractRight()
v = ActiveCell.value
s = Right(v, 4)
For i = LBound(s) To UBound(s)
ActiveCell.Offset(i + 1, 1).value = s(i)
Next
End Sub

I'm figuring that I get the error because right() and my limits don't work
with each other.

How can I accomplish my goal?
Thank you.
Best,
SteveB.



All times are GMT +1. The time now is 10:36 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com