Q:

Custom Excel script to update xls with 1800 lines

I have a few .xls spreadsheets here, each with about 1800 rows in each, all filled with product info from my amazon shops.
I am needing to update the prices on every single product in their categories, but all the products are jumbled up. Im hoping I might be able to create a script to help me out here.
The row format goes: Product Name | Description | SKU | Barcode | Price | etc etc
I was hoping to specify a keyword and price at the start and hit go and the script would do as follow:
Search the Name (A1) for a keyword of my choice,
If found, update price (E1) with a price of my choice, then start next row (A2)
or If not found move on to (A2) and repeat until the end.

Any help would be greatly appreciated right now, and save me hours and hours of mind numbing copy pastas.
Cheers

A:

Here is something similar to user 1560834 in that it's VBA.  It will go through your entire list regardless of size - I also tested it.  Here are the before and after images:

Here's the code:
Sub Price_Update()

    Dim CurrRow As Integer
    Dim CurrCol As Integer
    Dim TargetRow As Integer
    Dim TargetCol As Integer

    Const Text_to_Find = "ABC"
    Const New_Price = 4.45

    CurrRow = 2 ' Start with row 2, not header row
    CurrCol = 1 ' This is column A

    TargetRow = 2 ' Start with row 2, not header row
    TargetCol = 5 ' This is column E

    ' Search through all records until blank found
    While Cells(CurrRow, CurrCol) <> ""

        ' Look for string in column A
        If InStr(1, UCase(Cells(CurrRow, CurrCol)), UCase(Text_to_Find)) > 0 Then
            ' If found, update column E with the new price
            Cells(TargetRow, TargetCol) = New_Price
        End If

        ' Move to the next source and target rows
        CurrRow = CurrRow + 1
        TargetRow = TargetRow + 1

    Wend

End Sub

Put this in VBA (choose Developer > Visual Basic), then change the text to find and the price.  Press F5 to run.
Before you update your real data, make sure you take a backup.

