#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 80
Default trim

Hi, could somebody advice on how to trim using vba. Im trimming data
like;
"21 22 3 4" or "20 2 22 3". All I need from these are the firs two
numbers so for these two It would be "21 22" & "20 2". Ive tried
x = ActiveCell.Value
y = Left(x, 2)
z = Left(x, 5) y to get the first number then I was going to use z to
get the first two numbers and then 'right' to get the second number.
Then I realised Id have a problem with single digit numbers. Now I
thinking is there a away of getting the numbers using the spaces as a
reference. x = first number before first space, z = second number
between first and second space.
Regards Robert

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 400
Default trim

try:

Sub xx()
Dim a As Variant
a = "21 22 3 4"
a = Application.Trim(a)
a = Split(a, " ") ' Is in option base 0
ReDim Preserve a(1) ' gets 2 elements
a = Join(a, " ")
Debug.Print a
End Sub

You'd need to adapt this; change it to a function and pass 'a' as an argument.
" wrote:

Hi, could somebody advice on how to trim using vba. Im trimming data
like;
"21 22 3 4" or "20 2 22 3". All I need from these are the firs two
numbers so for these two It would be "21 22" & "20 2". Ive tried
x = ActiveCell.Value
y = Left(x, 2)
z = Left(x, 5) y to get the first number then I was going to use z to
get the first two numbers and then 'right' to get the second number.
Then I realised Id have a problem with single digit numbers. Now I
thinking is there a away of getting the numbers using the spaces as a
reference. x = first number before first space, z = second number
between first and second space.
Regards Robert


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default trim

see if it helps ...

Function GetFirstNumber(myText As String) As String
Dim iPos As Integer
iPos = InStr(1, myText, " ")
GetFirstNumber = Left(myText, iPos - 1)
End Function

Sub Test()
Dim FirstNumber As String, SecondNumber As String
Dim TestString As String

TestString = "21 22 3 4"
FirstNumber = GetFirstNumber(TestString)
SecondNumber = GetFirstNumber(Mid(TestString, Len(FirstNumber) + 2,
Len(TestString)))
Debug.Print FirstNumber & Chr(13)
Debug.Print SecondNumber

End Sub

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 80
Default trim

Thankyou all for your replys, this has helped alot. I went with
letapia, but they are all simular anyway. Thanks again.
Regards Robert

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Trim Jim Excel Discussion (Misc queries) 4 February 2nd 10 03:00 PM
Trim help please Dave New Users to Excel 8 September 1st 05 07:18 PM
VBA Trim and Application.worksheetfunction.Trim Hari Prasadh Excel Programming 3 January 19th 05 02:22 PM
Trim in VBA Otto Moehrbach[_6_] Excel Programming 4 May 18th 04 05:23 PM
Trim like worksheet Trim Bob Phillips[_5_] Excel Programming 0 August 20th 03 07:10 PM


All times are GMT +1. The time now is 04:14 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"