VBA code to replace values in a column

Dokat

Active Member
Joined
Jan 19, 2015
Messages
304
Office Version
  1. 365
Hi,

I have a data table with over 300K rows. In worksheet ("POS")column B i have values like "Zebra Tire" that i'd like to replace with "Zebra" or "Sumo Tires" with "Sumo". I tested below code however it didn't do anything. How can i replace the values in Column B with vba?


VBA Code:
Sub ReplaceName()

Application.ScreenUpdating = False
Worksheets("POS").Activate
Dim i As Long
Dim lr As Long
lr = Range("B" & Rows.Count).End(xlUp).Row
For i = lr To 2 Step -1

Range("B" & lr).Value = Replace(Range("B" & lr), "Zebra Tire", "Zebra")

    Next i
Application.ScreenUpdating = True
End Sub
 

Excel Facts

Select all contiguous cells
Pressing Ctrl+* (asterisk) will select the "current region" - all contiguous cells in all directions.
Hi,

I have a data table with over 300K rows. In worksheet ("POS")column B i have values like "Zebra Tire" that i'd like to replace with "Zebra" or "Sumo Tires" with "Sumo". I tested below code however it didn't do anything. How can i replace the values in Column B with vba?


VBA Code:
Sub ReplaceName()

Application.ScreenUpdating = False
Worksheets("POS").Activate
Dim i As Long
Dim lr As Long
lr = Range("B" & Rows.Count).End(xlUp).Row
For i = lr To 2 Step -1

Range("B" & lr).Value = Replace(Range("B" & lr), "Zebra Tire", "Zebra")

    Next i
Application.ScreenUpdating = True
End Sub
 
Upvote 0
Below code worked for me

VBA Code:
Sub ReplaceName()

Application.ScreenUpdating = False

Worksheets("POS").Activate
Dim i As Long
Dim lr As Long
lr = Range("B" & Rows.Count).End(xlUp).Row
For i = lr To 2 Step -1

Worksheets("POS").Range("B" & i).Value = Replace(Worksheets("POS").Range("B" & i), "Zebra Tires", "Zebra")

    Next i
Application.ScreenUpdating = True
End Sub
 
Upvote 0
VBA Code:
Sub Test()
'
    Application.ScreenUpdating = False
'
    Dim lr      As Long
    Dim cell    As Range
'
    lr = Worksheets("POS").Range("B" & Rows.Count).End(xlUp).Row
'
    For Each cell In Worksheets("POS").Range("B1:B" & lr)
        cell.Value = Replace((cell.Value), "Zebra Tire", "Zebra")
    Next
'
    Application.ScreenUpdating = True
End Sub
 
Upvote 0
VBA Code:
Sub Test()
'
    Application.ScreenUpdating = False
'
    Dim lr      As Long
    Dim cell    As Range
'
    lr = Worksheets("POS").Range("B" & Rows.Count).End(xlUp).Row
'
    For Each cell In Worksheets("POS").Range("B1:B" & lr)
        cell.Value = Replace((cell.Value), "Zebra Tire", "Zebra")
    Next
'
    Application.ScreenUpdating = True
End Sub
Thanks for your response. I tried the code but didnt work. It didnt replace any value. Second code i posted actually worked. Only challenge is it takes too long to run
 
Upvote 0
The code I posted works. I wouldn't have posted it otherwise.
 
Upvote 0
The code I posted works. I wouldn't have posted it otherwise.
You are right. I retried it and it worked. Not sure what happened the first time but it is running very efficiently. Thanks
 
Upvote 0
Can't you use the Replace function?

I did. Above code worked
I believe that what @kokano90 meant was this, doing all 300K rows at once rather than one at a time. ;)

VBA Code:
Sub Test2()
  Worksheets("POS").Columns("B").Replace What:="Zebra Tire", Replacement:="Zebra", LookAt:=xlPart, MatchCase:=False
End Sub
 
Upvote 0

Forum statistics

Threads
1,215,332
Messages
6,124,313
Members
449,153
Latest member
JazzSingerNL

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top