+ Reply to Thread
Results 1 to 2 of 2

Can excel macro access SUBstring individual 'char' level? If so how?

  1. #1
    Registered User
    Join Date
    03-16-2006
    Posts
    38

    Can excel macro access SUBstring individual 'char' level? If so how?

    If possible I'd like to compare only the first character of each of the customer name fields.
    Sometimes the customers go by acrynoms and sometimes the name is fully spelled out. So
    to avoid a false negative it is more safe to search/filter by the first character of the beginning of the
    word/name only. Does excel macro allow substring functionality? If I am to comparing the first char of the name
    field of each sheet how to I access this, what is the syntax for accessing & comparing substring characters??

    This shouldn't be too difficult (to use a marco to compare two fields at a time for matching) but I don't know
    how to write the code.

    I have two sheets 1 & 2. I’m to match customers from sheet 2 to 1.

    I want to match by zip code and by name. If zip AND name of row(x) in sheet 2
    Matches with zip AND name of ANY of the 5000+ row(s) in sheet 1 then highlight row(x) in sheet2. (to indicate a match)
    If no match are found, then do nothing, and move on to next row of sheet2 until all rows of sheet2 are finished comparing to the sheet1.

    Basically I need to compare TWO fields simultaneiously, (double match) per row to the respective TWO fields with the second sheet I am comparing too. If both criteria are meet then it is a match. Otherwise it is left alone/ignored. I want to do this for all 35000+ rows in my sheet2 which will take a long time without the help of a macro. Both the sheet to be worked on (sheet 2) and the sheet that exists only for comparison (sheet1) are huge and have many entries.

    What I need to do now is the second step: How do I compare AT THE SAME TIME both the ZIP CODE (numeric) AND the CUSTOMER NAME (string/character/word) of sheet2 to the Zip and Name of sheet1.??

    Do I need a nested FOR LOOP or a seperate for Loop after the first one??
    How shall I go about coding this? I've tried a lot of things but it never works..

  2. #2
    roadkill
    Guest

    RE: Can excel macro access SUBstring individual 'char' level? If so ho

    If you don't mind adding a few columns, you should be able to do this without
    macros.

    Add 2 columns to the big (35,000) row sheet. Let's say columns A and B.
    - in the first, put "=left(C1,1) & D1" where C1 refers to the name column
    (the 1 in the left function refers to the number of characters from the name
    that will be used) in this same row and D1 refers to the zip code
    - in the second put in consecutive number (1, 2, 3, ... so that each row is
    identified by a number). This will let you tell what row matched up.

    Add one column to the other sheet and put in a vlookup function to find the
    match. It should look something like:

    "=vlookup(left(J1,1) & K1,Sheet2!$A$1:$B$35000,2,0)" where columns J and K
    have the name and the zip code on this sheet

    The result will be either a number corresponding to the row that matches or
    else "#N/A" to indicate not found.

    Will

    "bxc2739" wrote:

    >
    > If possible I'd like to compare only the first character of each of the
    > customer name fields.
    > Sometimes the customers go by acrynoms and sometimes the name is fully
    > spelled out. So
    > to avoid a false negative it is more safe to search/filter by the first
    > character of the beginning of the
    > word/name only. Does excel macro allow substring functionality? If I am
    > to comparing the first char of the name
    > field of each sheet how to I access this, what is the syntax for
    > accessing & comparing substring characters??
    >
    > This shouldn't be too difficult (to use a marco to compare two fields
    > at a time for matching) but I don't know
    > how to write the code.
    >
    > I have two sheets 1 & 2. I’m to match customers from sheet 2 to 1.
    >
    > I want to match by zip code and by name. If zip AND name of row(x) in
    > sheet 2
    > Matches with zip AND name of ANY of the 5000+ row(s) in sheet 1 then
    > highlight row(x) in sheet2. (to indicate a match)
    > If no match are found, then do nothing, and move on to next row of
    > sheet2 until all rows of sheet2 are finished comparing to the sheet1.
    >
    > Basically I need to compare TWO fields simultaneiously, (double match)
    > per row to the respective TWO fields with the second sheet I am
    > comparing too. If both criteria are meet then it is a match. Otherwise
    > it is left alone/ignored. I want to do this for all 35000+ rows in my
    > sheet2 which will take a long time without the help of a macro. Both
    > the sheet to be worked on (sheet 2) and the sheet that exists only for
    > comparison (sheet1) are huge and have many entries.
    >
    > What I need to do now is the second step: How do I compare AT THE SAME
    > TIME both the ZIP CODE (numeric) AND the CUSTOMER NAME
    > (string/character/word) of sheet2 to the Zip and Name of sheet1.??
    >
    > Do I need a nested FOR LOOP or a seperate for Loop after the first
    > one??
    > How shall I go about coding this? I've tried a lot of things but it
    > never works..
    >
    >
    > --
    > bxc2739
    > ------------------------------------------------------------------------
    > bxc2739's Profile: http://www.excelforum.com/member.php...o&userid=32538
    > View this thread: http://www.excelforum.com/showthread...hreadid=535928
    >
    >


+ 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