+ Reply to Thread
Results 1 to 2 of 2

Better Way To Do This SLOW code

  1. #1

    Better Way To Do This SLOW code

    Please help me.

    I am importing two .csv files from an Oracle table into a workbook:
    SalesRep, MainRep

    Column A: is Bank
    Column B: is Rep Name
    Column C: is Branch #
    Columns N:R contain data.

    The process is to compare the MainRep page to the SalesRep page.
    So for each row on the MainRep page, If the Bank and Rep Name and
    Branch #, are
    found on the SalesRep page, do nothing, else, add the entire row to the
    SalesRep page.

    Currently I have declared the 3 ranges on the SalesRep page and
    inserted an Array formula.
    in the next empty column of row 1.
    Sheets("SalesRep").Cells(1, NxtCol).FormulaArray = "=MATCH(R[0]C[1]&
    R[0]C[2]&R[0]C[3],Bank & SalesAENames & SalesBranchNum,0)"

    and for each cell in the MainRep page I add the cell values so the
    formula will compute
    Sheets("SalesRep").Cells(1, NxtCol + 1).Value = Bank
    Sheets("SalesRep").Cells(1, NxtCol + 2).Value = AeName
    Sheets("SalesRep").Cells(1, NxtCol + 3).Value = AeBranch

    next piece is to check if formula gives error(means I have to add the
    rep and bank and branch, etc.)
    If IsError(Sheets("SalesRep").Cells(1, NxtCol).Value) Then
    add the current row from the mainrep page.
    else
    do nothing.

    this was ok when i tested with my data, however, the oracle table
    results are 17,000
    records, and it takes a long time to process. Any idea on a better way
    to compare these values? any help would be greatly appreciated.

    Thank you.
    Ron.


  2. #2
    Randy Hudson
    Guest

    Re: Better Way To Do This SLOW code

    In article <[email protected]>,
    <[email protected]> wrote:

    > I am importing two .csv files from an Oracle table into a workbook:
    > SalesRep, MainRep
    >
    > Column A: is Bank
    > Column B: is Rep Name
    > Column C: is Branch #
    > Columns N:R contain data.
    >
    > The process is to compare the MainRep page to the SalesRep page.
    > So for each row on the MainRep page, If the Bank and Rep Name and
    > Branch #, are
    > found on the SalesRep page, do nothing, else, add the entire row to the
    > SalesRep page.
    >
    > this was ok when i tested with my data, however, the oracle table results
    > are 17,000 records, and it takes a long time to process. Any idea on a
    > better way to compare these values? any help would be greatly
    > appreciated.


    Can you do the Join in a temporary table in Oracle, then read that table
    into your spreadsheet? In general, a database will be faster at doing a
    join than a spreadsheet will.

    --
    Randy Hudson



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1