ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   find replace (https://www.excelbanter.com/excel-worksheet-functions/137054-find-replace.html)

spaceage

find replace
 
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at different
rows/coulums.
Is there any formula/vb code wherein it can find above words and replace
with mentioned words against it.

rgds


--
rgds

Bob Phillips

find replace
 
Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell = Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and replace
with mentioned words against it.

rgds


--
rgds




spaceage

find replace
 
thanks a lot Bob for help. I will try using this.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell = Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and replace
with mentioned words against it.

rgds


--
rgds





spaceage

find replace
 
hi,

when i copied this code in vb and tried executing the macro, it is showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on vb code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell = Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and replace
with mentioned words against it.

rgds


--
rgds





Roger Govier

find replace
 
Hi

The problem is the wrapping created by the NG reader you are using where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds







spaceage

find replace
 
hi

now the macro is not showing any error.however, it is not giving any solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds







Roger Govier

find replace
 
Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not just
part of the value, which allows the routine to complete i=4 and move on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job much
more concisely. I (being less experienced than Bob) find it easier to do
this so I can see the values clearly when I am stepping through the code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds









spaceage

find replace
 
Hi Roger/Bob,

This is a great help.Your contribution is really outstanding.
You deserve maximum ratings for ur work.
Thanks a million.

can u advice me what training/course (relatively short term) do i need to
undergo if I wish to learn programming.

Rgds
Amit

--
rgds


"Roger Govier" wrote:

Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not just
part of the value, which allows the routine to complete i=4 and move on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job much
more concisely. I (being less experienced than Bob) find it easier to do
this so I can see the values clearly when I am stepping through the code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds










Bob Phillips

find replace
 
Amit,

I think Roger will be of a mind with me in saying that I (we?) don't know of
good training courses, but that the best way is to get a good book, and plug
into these forums and watch the questions. Even if you don't have a problem,
read other's questions and try some of the things. What level would you
describe yourself at?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Hi Roger/Bob,

This is a great help.Your contribution is really outstanding.
You deserve maximum ratings for ur work.
Thanks a million.

can u advice me what training/course (relatively short term) do i need to
undergo if I wish to learn programming.

Rgds
Amit

--
rgds


"Roger Govier" wrote:

Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not just
part of the value, which allows the routine to complete i=4 and move on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job much
more concisely. I (being less experienced than Bob) find it easier to do
this so I can see the values clearly when I am stepping through the code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds












spaceage

find replace
 
Hi Bob,

I am basically from finance background with proficiency in excel upto
creating macros.As of now, I have no programming level exp.But i am looking
for something
which can help me in compiling programs.
Which book/author u wud recommend.

--
rgds
amit

"Bob Phillips" wrote:

Amit,

I think Roger will be of a mind with me in saying that I (we?) don't know of
good training courses, but that the best way is to get a good book, and plug
into these forums and watch the questions. Even if you don't have a problem,
read other's questions and try some of the things. What level would you
describe yourself at?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Hi Roger/Bob,

This is a great help.Your contribution is really outstanding.
You deserve maximum ratings for ur work.
Thanks a million.

can u advice me what training/course (relatively short term) do i need to
undergo if I wish to learn programming.

Rgds
Amit

--
rgds


"Roger Govier" wrote:

Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not just
part of the value, which allows the routine to complete i=4 and move on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job much
more concisely. I (being less experienced than Bob) find it easier to do
this so I can see the values clearly when I am stepping through the code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i, "A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words and
replace
with mentioned words against it.

rgds


--
rgds













Bob Phillips

find replace
 
You usually can rely on John Walkenbach. I believe he does a VBA for
Dummies, and Power Programming books, so go to a bookshop, and look and see
if one suits.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Hi Bob,

I am basically from finance background with proficiency in excel upto
creating macros.As of now, I have no programming level exp.But i am
looking
for something
which can help me in compiling programs.
Which book/author u wud recommend.

--
rgds
amit

"Bob Phillips" wrote:

Amit,

I think Roger will be of a mind with me in saying that I (we?) don't know
of
good training courses, but that the best way is to get a good book, and
plug
into these forums and watch the questions. Even if you don't have a
problem,
read other's questions and try some of the things. What level would you
describe yourself at?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"spaceage" wrote in message
...
Hi Roger/Bob,

This is a great help.Your contribution is really outstanding.
You deserve maximum ratings for ur work.
Thanks a million.

can u advice me what training/course (relatively short term) do i need
to
undergo if I wish to learn programming.

Rgds
Amit

--
rgds


"Roger Govier" wrote:

Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not
just
part of the value, which allows the routine to complete i=4 and move
on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values
from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job
much
more concisely. I (being less experienced than Bob) find it easier to
do
this so I can see the values clearly when I am stepping through the
code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it
is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge
on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count,
TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail
in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find
located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words
and
replace
with mentioned words against it.

rgds


--
rgds















spaceage

find replace
 
thank you, Bob for ur support and guidance.
--
rgds
amit

"Bob Phillips" wrote:

You usually can rely on John Walkenbach. I believe he does a VBA for
Dummies, and Power Programming books, so go to a bookshop, and look and see
if one suits.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"spaceage" wrote in message
...
Hi Bob,

I am basically from finance background with proficiency in excel upto
creating macros.As of now, I have no programming level exp.But i am
looking
for something
which can help me in compiling programs.
Which book/author u wud recommend.

--
rgds
amit

"Bob Phillips" wrote:

Amit,

I think Roger will be of a mind with me in saying that I (we?) don't know
of
good training courses, but that the best way is to get a good book, and
plug
into these forums and watch the questions. Even if you don't have a
problem,
read other's questions and try some of the things. What level would you
describe yourself at?

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"spaceage" wrote in message
...
Hi Roger/Bob,

This is a great help.Your contribution is really outstanding.
You deserve maximum ratings for ur work.
Thanks a million.

can u advice me what training/course (relatively short term) do i need
to
undergo if I wish to learn programming.

Rgds
Amit

--
rgds


"Roger Govier" wrote:

Hi

The problem is the program is going into an interminable loop.
By the time it gets to row 4 of sheet1 (when i=4), the values have
already been changed to USD.
Searching for US, finds USD and changes it to USD and so on ad
infinitum.

I have modified Bob's code to make it look at the whole of USD, not
just
part of the value, which allows the routine to complete i=4 and move
on
through the rest of its iterations.

Public Sub ProcessData2()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String, Value1 As String, value2 As String
On Error Resume Next
With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow
Value1 = Sheets("Sheet1").Cells(i, "A").Value
value2 = Sheets("Sheet1").Cells(i, "B").Value

With Worksheets("Sheet2")

Set cell = Nothing
Set cell = Worksheets("Sheet2").UsedRange _
.Find(What:=Value1, _
Lookat:=xlWhole, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = value2
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing
End With
Next i

End With

End Sub

My routine is a little longer than Bob's, as I have read the values
from
Sheet1 into Value1 and Value2, whereas Bob was doing the whole job
much
more concisely. I (being less experienced than Bob) find it easier to
do
this so I can see the values clearly when I am stepping through the
code
to see if I have got it right.

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi

now the macro is not showing any error.however, it is not giving any
solution.
the files maintains status quo.

can u help.


Sheet 1 data
Find Replace with
krw usd
**US$ USD
*US$ USD
US USD
BRITISH GBP

Sheet2 data(Part Selection)
**US$ US EXCHANGES** *US$
TOTAL EQUITY 6792937.25 2558296.2
** JAPANESE YEN **
TOTAL EQUITY 241,062,029DR 826982.5
** S AFRICAN RAND
TOTAL EQUITY 3,463,910.96DR 540,430.65DR
= EQUIVALENT TOTAL =
TOTAL EQUITY 3494895.47
**US$ US EXCHANGES** *US$

--
rgds


"Roger Govier" wrote:

Hi

The problem is the wrapping created by the NG reader you are using
where
the line has been wrapped and is incomplete.
The line should be continuous as below

Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)

--
Regards

Roger Govier


"spaceage" wrote in message
...
hi,

when i copied this code in vb and tried executing the macro, it
is
showing
syntax error at this line:
Set cell = Worksheets("Sheet2").UsedRange.Find(.Cells(i,

can u please help.
i can build the macros thru excel but do not have much knowledge
on
vb
code.

--
rgds


"Bob Phillips" wrote:

Public Sub ProcessData()
Const TEST_COLUMN As String = "A" '<=== change to suit
Dim i As Long
Dim iLastRow As Long
Dim cell As Range
Dim sh As Worksheet
Dim sFirst As String

With Worksheets("Sheet1")

iLastRow = .Cells(.Rows.Count,
TEST_COLUMN).End(xlUp).Row
For i = 1 To iLastRow

Set cell = Nothing
Set cell =
Worksheets("Sheet2").UsedRange.Find(.Cells(i,
"A").Value)
If Not cell Is Nothing Then sFirst = cell.Address
Do
If Not cell Is Nothing Then
cell.Value = .Cells(i, "B").Value
Set cell =
Worksheets("Sheet2").UsedRange.FindNext(cell)
End If
Loop While Not cell Is Nothing

Next i

End With

End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail
in
my
addy)

"spaceage" wrote in message
...
Sheet 1 contains following data
find Replace with
krw usd
jpy usd
aud cad
gbp euro

Sheet 2 contains whole range of data with words to find
located
at
different
rows/coulums.
Is there any formula/vb code wherein it can find above words
and
replace
with mentioned words against it.

rgds


--
rgds

















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

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