ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Reformat Number (https://www.excelbanter.com/excel-programming/353533-reformat-number.html)

[email protected]

Reformat Number
 
I am extracting data from a program that collects project data in a
number of areas.
The project number is extracted just as it comes out of the program,
sometime with parentheses , commas, or dashes in between its parts.
The field the number is input into is a text field.

What I would like to do is to remove all symbols from the number and
make the number one long string of digits. Is there any way to do
this?

Thanks in advance for the help.


Tom Ogilvy

Reformat Number
 
? StripNonChar("!@#$%^1234590ABCD abxyz&*(){}")
1234590ABCDabxyz


Public Function StripNonChar(s)
Dim s1 As String
Dim i As Long, schr As String

For i = 1 To Len(s)
schr = UCase(Mid(s, i, 1))
If IsNumeric(schr) Or (schr = "A" And schr <= "Z") Then
s1 = s1 & Mid(s, i, 1)
End If
Next
StripNonChar = s1
End Function

--
Regards,
Tom Ogilvy



wrote in message
oups.com...
I am extracting data from a program that collects project data in a
number of areas.
The project number is extracted just as it comes out of the program,
sometime with parentheses , commas, or dashes in between its parts.
The field the number is input into is a text field.

What I would like to do is to remove all symbols from the number and
make the number one long string of digits. Is there any way to do
this?

Thanks in advance for the help.




Toppers

Reformat Number
 
Hi,
Try:

Sub RemoveNonNumeric()

Dim projnum as string, newprojnum as string

projnum = "123(45-*Ab345]"
newprojnum = ""

For i = 1 To Len(projnum)
If IsNumeric(Mid(projnum, i, 1)) Then newprojnum = newprojnum + Mid(projnum,
i, 1)
Next i
MsgBox newprojnum
End Sub

" wrote:

I am extracting data from a program that collects project data in a
number of areas.
The project number is extracted just as it comes out of the program,
sometime with parentheses , commas, or dashes in between its parts.
The field the number is input into is a text field.

What I would like to do is to remove all symbols from the number and
make the number one long string of digits. Is there any way to do
this?

Thanks in advance for the help.



Ron Rosenfeld

Reformat Number
 
On 16 Feb 2006 10:41:44 -0800, wrote:

I am extracting data from a program that collects project data in a
number of areas.
The project number is extracted just as it comes out of the program,
sometime with parentheses , commas, or dashes in between its parts.
The field the number is input into is a text field.

What I would like to do is to remove all symbols from the number and
make the number one long string of digits. Is there any way to do
this?

Thanks in advance for the help.


Here's one way:

======================
Option Explicit
Sub GetDigits()
Const str As String = "1234ab()?4567Aa</910"
Dim res As String
Dim i As Long
Dim s As String

For i = 1 To Len(str)
s = Mid(str, i, 1)
res = res & IIf(s Like "[0-9]", s, "")
Next i

Debug.Print res

End Sub
====================

--ron


All times are GMT +1. The time now is 07:02 PM.

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