Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 33
Default Find and Replace Macro

Does anyone know how to find a value within a text string and replace
the entire cell value with a single word

For Example:

Do While Activecell.Offset(0, -1).Value < ""
IF Activecell.value < "(IN)" then
Activecell.value = "IN"
ElseIF Activecell.value < "(OUT)" Then
Activecell.value = "OUT"
ElseIF Activecell.value < "INNER" Then
Activecell.value = "INNER DOOR"
Else
Activecell.value = ""
End IF
Loop

What I am trying to do is to find the text value of (IN) , (OUT), and
INNER within a text string in cell.

The above example does not work. I know if I write three loops using
the find and replace method it should work, but this is not very
proficient in an excel worksheet that has more that 2000 rows. I need
to find a way to write one loop for this

Thank you for all of your help in advance
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,942
Default Find and Replace Macro

hi
you have a serious problem. the word IN is also within the word INNER.
here is something that may work for you. back up your data BEFORE you run
this.
note that i search for INNER and have code select that option before
searching for IN.
Sub findit()
Dim r As Range
Dim rd As Range
Set r = Cells(2, 2) 'B2...change to suit
Do While Not IsEmpty(r)
Set rd = r.Offset(1, 0)
If r.Value Like "*INNER*" Then
r.Value = "INNER DOOR"
ElseIf r.Value Like "*OUT*" Then
r.Value = "OUT"
ElseIf r.Value Like "*IN*" Then
r.Value = "IN"
Else: r.Value = ""
End If
Set r = rd
Loop
End Sub

worked in my test of 6 lines

Regards
FSt1

" wrote:

Does anyone know how to find a value within a text string and replace
the entire cell value with a single word

For Example:

Do While Activecell.Offset(0, -1).Value < ""
IF Activecell.value < "(IN)" then
Activecell.value = "IN"
ElseIF Activecell.value < "(OUT)" Then
Activecell.value = "OUT"
ElseIF Activecell.value < "INNER" Then
Activecell.value = "INNER DOOR"
Else
Activecell.value = ""
End IF
Loop

What I am trying to do is to find the text value of (IN) , (OUT), and
INNER within a text string in cell.

The above example does not work. I know if I write three loops using
the find and replace method it should work, but this is not very
proficient in an excel worksheet that has more that 2000 rows. I need
to find a way to write one loop for this

Thank you for all of your help in advance

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 33
Default Find and Replace Macro

On Jan 8, 12:13*pm, FSt1 wrote:
hi
you have a serious problem. the word IN is also within the word INNER.
here is something that may work for you. back up your data BEFORE you run
this.
note that i search for INNER and have code select that option before
searching for IN.
Sub findit()
Dim r As Range
Dim rd As Range
Set r = Cells(2, 2) 'B2...change to suit
Do While Not IsEmpty(r)
* * Set rd = r.Offset(1, 0)
* * If r.Value Like "*INNER*" Then
* * * * r.Value = "INNER DOOR"
* * * * ElseIf r.Value Like "*OUT*" Then
* * * * * * r.Value = "OUT"
* * * * * * ElseIf r.Value Like "*IN*" Then
* * * * * * * * r.Value = "IN"
* * * * * * * * Else: r.Value = ""
* * End If
* * Set r = rd
Loop
End Sub

worked in my test of 6 lines

Regards
FSt1



" wrote:
Does anyone know how to find a value within a text string and replace
the entire cell value with a single word


For Example:


Do While Activecell.Offset(0, -1).Value < ""
IF Activecell.value < "(IN)" then
* Activecell.value = "IN"
ElseIF Activecell.value < "(OUT)" Then
* Activecell.value = "OUT"
ElseIF Activecell.value < "INNER" Then
* Activecell.value = "INNER DOOR"
Else
*Activecell.value = ""
End IF
Loop


What I am trying to do is to find the text value of (IN) , (OUT), and
INNER within a text string in cell.


The above example does not work. *I know if I write three loops using
the find and replace method it should work, but this is not very
proficient in an excel worksheet that has more that 2000 rows. *I need
to find a way to write one loop for this


Thank you for all of your help in advance- Hide quoted text -


- Show quoted text -


OK that make since. I changed my code like this:

Range("A2").Select

Do While ActiveCell.Value < ""
If ActiveCell.Offset(0, 1) Like "*INNER*" Then
ActiveCell.Offset(0, 1).Value = "INNER DOOR"
ElseIf ActiveCell.Offset(0, 1) Like "*(OUT)*" Then
ActiveCell.Offset(0, 1).Value = "OUT"
ElseIf ActiveCell.Offset(0, 1) Like "*(IN)*" Then
ActiveCell.Offset(0, 1).Value = "IN"
Else: ActiveCell.Offset(0, 1).Value = ""
End If
ActiveCell.Offset(1, 0).Select

Loop

It seems to work every time

Thank you for all of your help

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
Find and Replace in a Macro [email protected] Excel Programming 4 December 1st 07 04:27 AM
Find & Replace and Find & Insert macro help needed RS Excel Programming 2 January 29th 07 07:35 AM
Macro to Find and Replace R Storey Excel Discussion (Misc queries) 6 December 6th 06 07:04 PM
Using Find and Replace to replace " in a macro snail30152 Excel Programming 1 April 13th 06 11:58 PM
Find/replace macro VB Newbie Excel Programming 1 November 13th 04 01:48 AM


All times are GMT +1. The time now is 04:40 PM.

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

About Us

"It's about Microsoft Excel"